我一直在尋找重新文檔和其他問題,但我一直遇到與正則表達式的麻煩。替換Python中的文本
我需要從字符串中取出[tag]中的東西。
string = "Article Name [Tag Name]"
#and I want to go to
string = "Article Name"
我真的很感激,如果有人可以幫忙。
我一直在尋找重新文檔和其他問題,但我一直遇到與正則表達式的麻煩。替換Python中的文本
我需要從字符串中取出[tag]中的東西。
string = "Article Name [Tag Name]"
#and I want to go to
string = "Article Name"
我真的很感激,如果有人可以幫忙。
這不使用正則表達式,所以如果這是一個必要條件,這不是一個答案,但你可以這樣做:
string = string.split('[')[0].strip()
re.sub("\s*\[.*?\]", "", string)
re.sub(r"(.*) \[.*\]", r"\1", string)
這如果是在字符串的結尾將只刪除標記。
如果您確定[標籤名稱]總是出現在文章名稱後面,那麼您可以在沒有正則表達式的情況下執行此操作。
>>> string="Article Name [Tag Name]"
>>> string[:string.find(" [")]
'Article Name'
或.partition
>>> string.partition(" [")[0]
'Article Name'
更妙的是無正則表達式:
txt = "Article Name [Tag Name]"
if txt.rfind('[') and txt.rfind(']') > txt.rfind('['): txt = txt[:txt.rfind('[')]
if txt[-1] == ' ': txt = txt[:-1]
這裏是一個fo r []標記的多個實例
>>> string = "Article Name [Tag Name] blah blah [tag name2] blah blah [tag name3]"
>>> for i in string.split("]"):
... print i[ : i.find("[") ]
...
Article Name
blah blah
blah blah
這一個似乎對我來說最合適。謝謝! – user29772 2010-01-08 05:03:15