如何有效地替换 python 中的子字符串,其中一个子字符串可能是另一个子字符串的一部分?例如:
>>> "||||".replace("||","|X|")
'|X||X|'
# What I want: |X|X|X|
当然,我可以继续重复替换,直到字符串中不再有 ||
实例,但肯定有更好/更快的方法吗?
最佳答案
一般来说,您需要重复该过程。
在这种特定情况下,您可以使用正则表达式在连续的 |
符号之间插入 X
:
import re
print(re.sub("[|](?=[|])",
"|X",
"||||"))
意思是“如果后面是另一个管道,则用管道+X替换任何管道(但不要认为它是匹配的一部分)”
关于python - 使用 Python 高效重复子字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456350/