2
我有一个巨大的字符串我尝试解析为一系列字符串形式的令牌的数量,我发现了一个问题:因为许多串的都是一样的,有时做string.replace()
将导致先前替换字符再次被替换。如何保持替换字符串
说我有字符串被替换为“转到”和它被由“41”(十六进制)取代和被转换成ASCII码(“A”)。稍后,字符串'A'也将被替换,以便转换后的标记被再次替换,从而导致问题。
会是什么让字符串只需进行一次更换的最佳方式?同时打破每个令牌掉原来的字符串,并为他们寻找一个需要很长
这是代码我现在有。虽然它或多或少的作品,它不是非常快
# The largest token is 8 ASCII chars long
'out' is the string with the final outputs
while len(data) != 0:
length = 8
while reverse_search(data[:length]) == None:#sorry THC4k, i used your code
#at first, but it didnt work out
#for this and I was too lazy to
#change it
length -= 1
out += reverse_search(data[:length])
data = data[length:]
很好,我已经做了'而真实:与string.replace()'循环,开始了这个问题。然后我尝试了'取消第一个标记并替换它们,然后转到下一个标记'的东西。它的速度并不像我想要的那样快,它仍然给我错误 – calccrypto 2010-08-20 21:31:59
那些不知道pyparsing的人注定要重塑它 – 2010-08-20 21:32:22
请提供更多示例 – leoluk 2010-08-21 00:40:59