有没有办法替换字符串的结尾,从给定的子字符串开始
python 296
原文标题 :Is there a way to replace the end of a string, starting at a given substring
我有串香蕉| 10 并想从 | 替换所有内容到字符串的末尾 9 。我想要的输出是香蕉 | 9.我怎么能做到这一点?我研究了 .replace() , .split() 并将字符串转换为字符列表,然后循环遍历它们,直到找到应该替换的位,但就是想不通。
回复
我来回复-
Amirhossein Kiani 评论
我建议你使用 re 模块(正则表达式模块):
import re myString = "banana | 10" re.sub(r"|.+", r"| 9", myString)
输出
banana | 9
2年前 -
The fourth bird 评论
你可以捕捉 |后跟第 1 组中没有换行符的可选空格,并匹配要删除的行的其余部分。
在替换使用捕获组 1 后跟 9
import re s = "banana | 10" pattern = r"(|[^S ]*).*" print(re.sub(pattern, r"g<1>9", s))
输出
banana | 9
如果要匹配数字和至少 1 个或多个空格,请使用:
(|[^S ]+)d+
请参阅 aregex 101 演示
2年前