2024-04-23 18:14:17 发布
网友
假设我有这个:
我的太阳非常大。在
我想用一个连字符替换所有多个连字符。在
import re astr='My---sun--is------very-big---.' print(re.sub('-+','-',astr)) # My-sun-is-very-big-.
如果要替换连续字符的任何运行,可以使用
>>> import re >>> a = "AA---BC++++DDDD-EE$$$$FF" >>> print(re.sub(r"(.)\1+",r"\1",a)) A-BC+D-E$F
如果只想合并非单词字符,请使用
如果真的只是连字符,我推荐unutbu的解决方案。在
如果您真的只想合并连字符,请使用其他建议。否则,您可以编写自己的函数,如下所示:
>>> def coalesce(x): ... n = [] ... for c in x: ... if not n or c != n[-1]: ... n.append(c) ... return ''.join(n) ... >>> coalesce('My---sun--is------very-big---.') 'My-sun-is-very-big-.' >>> coalesce('aaabbbccc') 'abc'
如果要替换连续字符的任何运行,可以使用
如果只想合并非单词字符,请使用
^{pr2}$如果真的只是连字符,我推荐unutbu的解决方案。在
如果您真的只想合并连字符,请使用其他建议。否则,您可以编写自己的函数,如下所示:
相关问题 更多 >
编程相关推荐