【问题标题】:Using .replace to remove certain letters [duplicate]使用 .replace 删除某些字母[重复]
【发布时间】:2021-10-18 19:06:19
【问题描述】:

当字母 CA 单独出现,即不是单词的一部分时,我想使用 .replace 照亮所有 CA 实例。

但是当我添加 .replace('ca', '')

诸如 America 和 American 之类的词也会被忽略,因为它们包含 ca

谁能告诉我如何克服这个问题?

谢谢

ps 我需要使用 python 27 来做到这一点

【问题讨论】:

  • 那么问题出在哪里?
  • 你的意思是当它本身是一个单词时你只想删除它们?使用带有\b 字边界的正则表达式。
  • 使用replace('ca', ''),所以只在ca单独的时候才替换。
  • @Satya,OP 已经说过他们不想使用它,因为这可能无法解决所有 ca 唯一的项目。就像 Barmar 所说,带有单词边界的 reg ex 是最好的。
  • @joe,这就是为什么我在 'ca' 周围添加空格的原因,但是,是的,正则表达式更擅长处理句子结尾处的 ca 之类的情况(例如,'America ca replace ca')。

标签: python python-2.7 replace python-2.x


【解决方案1】:

代替

.replace('ca', '')

你应该使用re模块

import re
re.sub(r"\bca\b", "", string_you_want_to_change)

通过使用模式r"\bca\b" 而不仅仅是"ca",您可以确保仅当"ca" 作为独立词出现时才匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多