抱歉我的英语不好。
我有这样的问题。给定一个字符串(可能是一个很长的字符串)和一个模式,如何删除字符串中出现的所有模式?请注意,删除前一个后可能会出现新的事件。例如:
string: deaabcbcef
pattern: abc
result: deef
是否有任何算法或有效方法来解决它(几秒钟内)?
P / S:我举一个简单的例子说清楚,但我认为这不是道路。字符串长度可以达到10 ^ 6个字符,时间限制为2秒。那有什么算法吗?答案 0 :(得分:1)
对于 python ,我不知道是否有一个更好的方式而不是一个简单的老式循环:
new = old.replace(pattern, '')
while new != old:
old = new
new = old.replace(pattern, '')
示例:
>>> old = 'deaabcbcef'
>>> pattern = 'abc'
>>> new = old.replace(pattern, '')
>>> while new != old:
... old = new
... new = old.replace(pattern, '')
...
>>> new
'deef'
答案 1 :(得分:0)
的Python:
import string
input="salsa"
output = string.replace(input,"sa", "re")
print output
relre