我想替换字符串“<;75%“无”。 我已经写了这个函数,但它不匹配:(
replacements = {'toot': 'titi-',
'<75%': 'NONE'}
def replace(match):
return replacements[match.group(0)]
def clean75Case(text_page):
return re.sub('|'.join(r'\b%s\b' % re.escape(s) for s in replacements),
replace, text_page)
if __name__ == '__main__':
print(clean75Case("toot iiii <75%"))
正如评论中提到的,问题是
\b
只匹配单词和非单词字符之间的边界。从the docs:在您给出的字符串中,空格字符(
) and the less than character (
<
)都是非单词字符。因此\b
与它们之间的空格不匹配对于解决此问题的另一种方法,请考虑使用
split()
将字符串拆分为单词,并将每个单词与替换模式进行比较,如下所示:相关问题 更多 >
编程相关推荐