给定一个unicode和ascii字符的混合字符串,例如:
它看灵魂塑Nike造得和学问同等重要。
目标是用空格填充ascii子字符串,即:
^{pr2}$我尝试过使用([^[:ascii:]])
正则表达式,它在匹配子字符串方面看起来很好,例如https://regex101.com/r/FVHhU1/1
但是在代码中,用' \1 '
替换并没有达到预期的输出。在
>>> import re
>>> patt = re.compile('([^[:ascii:]])')
>>> s = u'它看灵魂塑Nike造得和学问同等重要。'
>>> print (patt.sub(' \1 ', s))
它看灵魂塑Nike造得和学问同等重要。
如何在ascii字符中混合使用ascii空格?
模式应为:
因此您可以使用:
^{pr2}$这将产生:
ASCII定义为一个字符范围,十六进制代码介于
00
和7f
之间。因此,我们定义这样一个范围[\x00-\x7f]
,使用+
表示一个或多个,并用r' \1 '
替换匹配组来添加两个空格。在相关问题 更多 >
编程相关推荐