我需要從段落中查找并替換一些標記的單詞。str = "my name is [tag1]alan[/tag1] . i am a [tag2]python[/tag2] developer."tag1 和 tag2 是我需要查找的單詞,并用另一個單詞替換它們的中間內容。標記不受限制。它可能有超過10個。但每個標簽都以相同的方式括起來,例如在方括號中,[tag][/tag]。我想要這樣的結果,str = "my name is alan . i am a python developer."有沒有辦法使用正則表達式做到這一點?不使用美麗的soup。
2 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
使用正則表達式。
前任:
import re
string = "my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer."
print(re.sub(r"(\[.*?\])", "", string))
# --> my name is alan. i am a python developer.

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
您可以使用以下正則表達式:
import re
my_str = 'my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer.'
re.sub(r'\[[/]*tag\d+?\]', '', my_str )
輸出:
'my name is alan . i am a python developer.'
正則表達式說明:
\[
= 開頭為[
[/]*
= 下一個字符可以是,也可以不是/
tag
= 必須包含字符串tag
\d+?
= 必須包含一個數字\]
= 結尾為]
添加回答
舉報
0/150
提交
取消