在第一个测试字符串中,我试图用空格替换文本中间的Unicode右箭头字符,但它似乎不起作用。在
一般来说,我尝试删除所有单个字符或更多unicode“非单词”,但如果单词是a-z0-9和unicode的混合体,则保留这些单词,或者只删除\w
# -*- coding: utf-8 -*-
import re
str = 'hi… » Test'
str = 're of… » Pr'
str = 're of… » Pr | removepipeaswell'
print str
str = re.sub(r' [^a-z0-9]+ ', ' ', str , re.UNICODE|re.MULTILINE)
# str = re.sub(r' [^\p{Alpha}] ', ' ', str, re.UNICODE)
print str
're of… Pr removepipeaswell' #expected output
str_nbsp = 'afds » asf'
编辑:添加了另一个测试字符串,我不想删除“的…”(unicode点),我想删除多个unicode(非word)字符。在
编辑:在测试用例中使用这个功能(但不是在完整的html中???-它只显示替换字符串前半部分的匹配项,然后忽略其余部分。)
^{pr2}$编辑:fml,一定是一些愚蠢的事情,比如没有正确地读取参数列表:http://bytes.com/topic/python/answers/689341-sub-does-not-replace-all-occurences
[不管是谁删除了他们的回复-谢谢你的帮助。]
str = re.sub(r' [^a-z0-9]+ ', ' ', str)
最后一个测试字符串“str峎nbsp”与上面的正则表达式不匹配。其中一个空格字符实际上是一个不间断的空格字符。我用过www.regexr.com网站然后在每个字符上悬停以找出答案。在
相关问题 更多 >
编程相关推荐