python - 仅当子字符串单独时才替换 str 列表中的子字符串 - python

标签 python string replace

让我们假设我有一个字符串列表:

l = ['firm incorp', 'firm2 inc']

我只想从第二个条目中删除后缀 'inc' 但如果我执行以下操作

l_r = [s.replace('inc', '') for s in l]

我还将从第一个条目中删除子字符串 inc。处理这个问题最有效的方法是什么? 注意:原则上,我要删除的后缀仅位于字符串的末尾。

最佳答案

使用正则表达式删除仅在单词边界处找到的字符串:

import re

l_r = [re.sub(r'\binc$', '', s) for s in l]

\b 是匹配字边界的特殊字符,$ 表示字符串的结尾或者刚好在字符串结尾的换行符之前。有关更多信息,请阅读 re docs .

关于python - 仅当子字符串单独时才替换 str 列表中的子字符串 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748072/

相关文章:

c++ - 没有匹配的函数来调用 basic_string::copy

objective-c - Objective C 字符串操作、查看、添加

c# - 想要从字符串中删除双引号

java - 如何在 Java 中仅替换/编辑特定单词?

在R中的不同列中替换多个 "less than values"

python - if else 语句返回 TypeError :object of type 'int' has no len() - Not sure why

python - 如何使用 Python 删除/去除我的 csv 文件中的白色/空白行?

python - tf.train.init_from_checkpoint 不初始化使用 tf.Variable 创建的变量

python - CMake在Python Virtualenv中安装DLib时找不到C和C++编译器

python - 在不使用 split() 的情况下拆分文本时出现问题