# 在 Python 中将字符串拆分为文本和数字

``````import re

my_str = 'hello123'

my_list = re.split(r'(\d+)', my_str)

# 👇️ ['hello', '123', '']
print(my_list)
``````

`请注意` ，我们在末尾得到一个空字符串，因为字符串中的最后一个字符是数字。

``````import re

my_str = 'hello123'

my_list = list(filter(None, re.split(r'(\d+)', my_str)))

# 👇️ ['hello', '123']
print(my_list)
``````

`filter` 函数接受一个函数和一个可迭代对象作为参数，并从可迭代对象的元素构造一个迭代器，函数返回一个真值。

`re.split` 方法接受一个模式和一个字符串，并在每次出现该模式时拆分字符串。

`\d` 字符匹配数字 [0-9]（以及许多其他数字字符）。

`+` 与前面的正则表达式匹配 1 次或多次。

``````import re

my_str = '123hello'

my_list = list(filter(None, re.split(r'(\d+)', my_str)))

# 👇️ ['123', 'hello']
print(my_list)
``````

`请注意` ，过滤器函数返回一个过滤器对象（不是列表）。 如果需要将过滤器对象转换为列表，将其传递给 `list()` 类。
{"ft_lang_label":"__label__zh","ft_lang_prob":0.93141365,"math_prob":0.9264021,"size":1130,"snap":"2023-40-2023-50","text_gpt3_token_len":718,"char_repetition_ratio":0.12966253,"word_repetition_ratio":0.14117648,"special_character_ratio":0.2681416,"punctuation_ratio":0.11258278,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.96578884,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2023-12-10T23:06:53Z\",\"WARC-Record-ID\":\"<urn:uuid:9cd70cbb-f704-46ff-9067-8146245c2372>\",\"Content-Length\":\"88343\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:69a00e34-6d99-4401-966a-812b17195532>\",\"WARC-Concurrent-To\":\"<urn:uuid:ad560a28-052a-46a0-8697-8979a39cfc7e>\",\"WARC-IP-Address\":\"8.45.176.230\",\"WARC-Target-URI\":\"https://www.zadmei.com/zpzjzfcc-3.html\",\"WARC-Payload-Digest\":\"sha1:BAYFRGLZR5MJEQ7MROEYHYQ64DA33H62\",\"WARC-Block-Digest\":\"sha1:BPV5XYKIXR4LB5NQ6Z6ERZRZSZNHY2YI\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2023/CC-MAIN-2023-50/CC-MAIN-2023-50_segments_1700679102697.89_warc_CC-MAIN-20231210221943-20231211011943-00376.warc.gz\"}"}