python - 用另一个词替换一个词的每个实例,而不会破坏包含该词的其他词
问题描述
词,词,词...对不起标题。
假设我想将字符串中的每个“yes”实例替换为“no”。我可以使用 string.replace()。但随之而来的问题是:
string = "yes eyes yesterday yes"
new_str = string.replace("yes", "no")
# new_str -> "no eno noterday no"
如何通过将“是”更改为“否”来保持“眼睛”和“昨天”的原样。
解决方案
你可以re
在这里使用。
re.sub(r'\byes\b','no',"yes eyes yesterday yes")
# 'no eyes yesterday no'
来自文档:
\b
- 匹配空字符串,但只匹配单词的开头或结尾。单词被定义为单词字符的序列。请注意,正式\b
定义为 a\w
和\W
字符之间的边界(反之亦然),或\w
字符串的开头/结尾之间的边界。这意味着r'\bfoo\b'
匹配'foo'
, 'foo.'
, '(foo)'
,'bar foo baz'
但不匹配'foobar' or 'foo3'
。
推荐阅读
- python - Discord.py 从客户端切换到机器人
- node.js - 将反应表单中的数据传递给 expressJS 并重定向到 PayuMoney 网站以进行付款
- python - 使用 Word2Vec 的文本相似度
- c++ - 我已经创建了在 C++ 中修改 Linkedlist 中的节点的函数,但它不起作用:
- javascript - Get json from flask using an external js file
- vba - 根据 SQL 查询数据将文件移动到新目录
- gekko - GEKKO 异常:@error:最大方程长度(大于 100k 的变量数)
- python - 熊猫:为什么我不能在新的计算字段中使用以前创建的列?
- python - 循环遍历特定行值的数据帧行
- sapb1 - SAP Business One - 添加 BP(DI 错误:(-5002)