SSViewer::set_theme('bullsorbit');
這是我的字符串。我想在字符串"SSViewer::set_theme('bullsorbit'); "
中搜索並用另一個字符串替換'bullsorbit'
。 'bullsorbit'
字符串正在動態變化。python字符串搜索替換
SSViewer::set_theme('bullsorbit');
這是我的字符串。我想在字符串"SSViewer::set_theme('bullsorbit'); "
中搜索並用另一個字符串替換'bullsorbit'
。 'bullsorbit'
字符串正在動態變化。python字符串搜索替換
不在的情況下才能夠測試這個,所以你可能需要使用正則表達式撥弄(他們可能會在它的錯誤。)
import re
re.sub("SSViewer::set_theme\('[a-z]+'\)", "SSViewer::set_theme('whatever')", my_string)
這是你想要的嗎?
只是測試它,這是一些示例輸出:
my_string = """Some file with some other junk
SSViewer::set_theme('bullsorbit');
SSViewer::set_theme('another');
Something else"""
import re
replaced = re.sub("SSViewer::set_theme\('[a-z]+'\)", "SSViewer::set_theme('whatever')", my_string)
print replaced
生產:
Some file with some other junk
SSViewer::set_theme('whatever');
SSViewer::set_theme('whatever');
Something else
如果你想要它做的一個文件:
my_string = open('myfile', 'r').read()
謝謝你的回覆..它是文件..我想讀取文件和搜索該字符串,並取代什麼 – rajaneesh 2009-07-26 09:35:48
這將取代所有與'my_string`。通過在交互式控制檯中運行它來檢查此問題 – AutomatedTester 2009-07-26 09:36:35
import re file_read = open(「/ var/www/rajaneesh/mysite/_config.php」,「r」) contents = file_read.read() file_read.close我想要搜索該字符串「SSViewer :: set_theme \('whatever')」文件,並用新字符串替換該字符串 – rajaneesh 2009-07-26 09:40:13
>> my_string = "SSViewer::set_theme('bullsorbit');"
>>> import re
>>> change = re.findall(r"SSViewer::set_theme\('(\w*)'\);",my_string)
>>> my_string.replace(change[0],"blah")
"SSViewer::set_theme('blah');"
它不優雅,但它的作品。 findall將返回('')中的項目的字典,然後替換它們。如果你能得到分的工作,然後可能看起來更好,但是這肯定會工作
st = "SSViewer::set_theme('"
for line in open("file.txt"):
line=line.strip()
if st in line:
a = line[ :line.index(st)+len(st)]
b = line [line.index(st)+len(st): ]
i = b.index("')")
b = b[i:]
print a + "newword" + b
,而你的解釋是不完全清楚,我想你可能也利用了以下內容:
open(fname).read().replace('bullsorbit', 'new_string')
什麼*動態改變*意味着什麼? – SilentGhost 2009-07-26 10:51:26