python - 使用 Python 高效重复子字符串替换

标签 python string replace

如何有效地替换 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/

相关文章:

python - C++ Python Boost 中的友元函数

java - 字符串操作模式

javascript - 为什么方法push()带下划线?

python - 在 for 循环中使用 str.replace 将非字母数字字符替换为星号

python - 如何向元组或列表中的字符串元素添加字符?

python - 不确定如何修复此错误 Luhn 算法 PYTHON

python - 在其他功能中使用相机时从网络摄像头拍摄快照

python - 使用 geopy pandas 的坐标新列

C++ Caesar 加密项目 (ASCII)

java - String.toLowerCase 中的 StackOverflowError