Pen*_* Qu 3 python regex unicode
假设我们在python中有一个unicode字符串,
s = u"abc??def?"
现在我想用 no-ascii 字符分割它,结果像
result = ["abc", "??", "def", "?"]
那么,如何实现呢?
使用正则表达式,您可以简单地在“有或没有”az 字符之间进行拆分。
>>> import re
>>> re.findall('([a-zA-Z0-9]+|[^a-zA-Z0-9]+)', u"abc??def?")
["abc", "??", "def", "?"]
Run Code Online (Sandbox Code Playgroud)
或者,使用所有 ASCII
>>> ascii = ''.join(chr(x) for x in range(33, 127))
>>> re.findall('([{}]+|[^{}]+)'.format(ascii, ascii), u"abc??def?")
['abc', '??', 'def', '?']
Run Code Online (Sandbox Code Playgroud)
或者,甚至如@Dolda2000 所建议的那样更简单
>>> re.findall('([ -~]+|[^ -~]+)', u"abc??def?")
['abc', '??', 'def', '?']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |