如何替换某个字母而不替换其他字母?

如何替换某个位置的某个字母而不替换另一个相同的字母?例如:

text = `"I need help. I need 5.4 dollar."`

我试过:

a = re.compile('\D(\.)')
print(a.sub('\n',text))

然而,输出是

"I need hel\n I need 5.4 dolla\n"

我怎样才能得到输出

"I need help\n I need 5.4 dollar\n"


慕田峪4524236
浏览 276回答 3
3回答

慕斯709654

您可以使用回顾:>>> text = "I need help. I need 5.4 dollar.">>> re.sub(r'(?<=\D)\.', '\n', text)'I need help\n I need 5.4 dollar\n'在这种情况下(?<=\D),断言文字前面的字符.不是数字。

茅侃侃

对于此特定示例,您可以使用正则表达式元字符 \b 来匹配单词的开头或结尾(单词边界)import retext = "I need help. I need 5.4 dollar."a = re.compile('\b(\.)')print(a.sub('\n',text))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python