开发者社区> 问答> 正文

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

如何在不替换其他相同字母的情况下替换某个地方的某个字母?例如:

text = "I need help. I need 5.4 dollar."
我试过了:

a = re.compile('D(.)')
print(a.sub('n',text))
但是,输出是

"I need heln I need 5.4 dollan"
我怎样才能获得输出

"I need helpn I need 5.4 dollarn"

展开
收起
一码平川MACHEL 2019-01-16 18:14:22 2179 0
1 条回答
写回答
取消 提交回答
  • 编写有效的正则表达式首先要制定你真正需要的东西。在您的情况下,它看起来像你想:

    “用换行符号替换所有句号,除非句号是数字的一部分。”

    而为了让这更精确,定义是什么意思,一个周期是一个数字的一部分:它可能意味着它是直接通过一个数字后面,以便它匹配5.4,而且.4在The average score of .4 was low.,但不是4.在She only counted a total of 4.

    “用换行符号替换所有句号,除非句号后面紧跟一个数字。”

    import re

    text = '"I have .5 dollar. I need 5.4 dollar. But they only gave me 3."'

    expression = re.compile(r'.(?!d)')
    print(expression.sub('n', text))
    你的例子D(.)匹配的是:“匹配一个不是数字的单个字符,后跟一个文字.”,这不是你想要替换的。

    2019-07-17 23:25:42
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载