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