2012-12-16 196 views
1

假設我在字符串「Taco> Bell」中輸入文件,我想用「Taco>」和「Bell」替換該字符串。換句話說,我想用兩個替換一個字符串。我知道如何在正則表達式中使用split方法來分割字符串,但是如何執行替換?拆分字符串並用成分替換原始字符串

每次有一個「>」後跟一個非空格字符的字符串時,我想在字符之間插入一個空格。

+1

這不是真的清楚你正試圖在這裏做。也許如果你添加更多的信息,或者在文件看起來像什麼之前和之後。 – jgritty

+0

當然。 之前:約翰喜歡吃塔科>貝爾 後:約翰喜歡吃塔科>貝爾 – thebeliever

+0

您添加了一個空間是所有。 – jgritty

回答

1

在這種情況下,你需要向前看,就像這樣:

import re 

mystring = "John likes to eat Taco>Bell because it is Bar>Foo healthy third> ok." 

print mystring 

mystring = re.sub(r">(?!)", "> ", mystring) 

print mystring 

基本上,替換隻發生如果按照>的字符不是一個空格。

輸出:

John likes to eat Taco>Bell because it is Bar>Foo healthy third> ok. 
John likes to eat Taco> Bell because it is Bar> Foo healthy third> ok. 
0

一種可能非正則表達式的解決辦法是

>>> somestr.replace(">","> ").replace("> ","> ") 
'John likes to eat Taco> Bell because it is Bar> Foo healthy third> ok.'