我正在使用 re.split()
将字符串分成标记。目前我用作参数的模式是 [^\dA-Za-z]
,它从字符串中检索字母数字标记。
但是,我需要的是也将同时具有数字和字母的标记拆分为只有一个或另一个的标记,例如。
re.split(pattern, "my t0kens")
将返回 ["my", "t", "0", "kens"]
。
我猜我可能需要使用前瞻/后视,但我不确定这是否真的有必要,或者是否有更好的方法。
最佳答案
尝试使用 findall 方法。
>>> print re.findall ('[^\d ]+', "my t0kens");
['my', 't', 'kens']
>>> print re.findall ('[\d]+', "my t0kens");
['0']
>>>
编辑:更好的方式来自 Bart 下面的评论。
>>> print re.findall('[a-zA-Z]+|\\d+', "my t0kens")
['my', 't', '0', 'kens']
>>>
关于python - Python 中的单独数字/字母标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6532065/