我不太清楚爲什麼會發生這種情況。我試圖刪除逗號之間的所有內容,但它似乎在做一些奇怪的事情。如果找到某個子字符串,則刪除兩個字符之間的文本(python)
import re
jsontext = '123,0test123,456,4test567,789'
for log in re.finditer('test', jsontext):
print jsontext
logstart = jsontext.rfind(",",0,log.start())
logend = jsontext.find(",",log.start())
jsontext = jsontext[:logstart] + jsontext[logend+1:]
print logstart
print logend
print '\n'
print jsontext
print '\n---end---\n'
它是生產
123,0test123,456,4test567,789
3
12
123456,4test567,789
---end---
123456,4test567,789
15
-1
123456,4test567123456,4test567,789
---end---
與
123456,4test567123456,4test567,789
離開,但我期待的
123456789
最終結果爲什麼會出現這種情況,我該怎麼修理它?
啊,我明白了。我通過調整jsontext變量來嘗試一些事情,但是我無法讓它在re.finditer()中更改變量。我不知道re.finditer()。next()。非常感謝! – rjbogz
這仍然不起作用。我知道我們正在嘗試更新'log'變量,但我無法使其工作。把它放在你的位置產生了一個錯誤:「Traceback(最近一次調用最後一次): 文件」removelogs.py「,第5行,在 log = re.finditer('」EventName「:」Log「,' jsontext).next() StopIteration'。然後我試着把它放在後面,但文件仍然不正確。 –
rjbogz