如何使用python3和re.sub()替换单词中间的连字符?
“ - ice-cream- - hang-out” - > “-ice cream- - 闲逛”
谢谢,
百里
编辑:我试过self.lines = re.sub(r'\w(-)\w', " ", self.lines),但不确定如何继续。我喜欢/ b的做法。
答案 0 :(得分:4)
re.sub(pattern, repl, string[, count, flags])
请参阅docs.python.org
您的模式为r'\b-\b'
查看模式here on Regexr
并用空格(' '
)
正则表达式字符串之前的r
可以解析原始字符串,这意味着您不需要双重转义。
\b
是一个单词边界,这意味着当前后有单词字符时,它会匹配-
。
答案 1 :(得分:1)
>>> re.sub(r'(\w)-(\w)', lambda m: '%s %s' % (m.groups()), '-ice-cream- hang-out')
'-ice cream- hang out'