我有一個包含模式的字串
"something [[remove|keep]] something [[keep]] something [[remove|remove|keep]] something"
如何使用re.sub()或其他方法將此字串編輯為
"something keep something keep something keep something"
或者
"something [[keep]] something [[keep]] something [[keep]] something".
(之后我可以洗掉[[ ]]s。)
我嘗試使用 for 回圈對其進行硬編碼,但是字串太長并且需要很長時間才能運行。
uj5u.com熱心網友回復:
您可以使用正則運算式(?<=[\[\|])[^\[]*?\|::
import re
s = "something [[remove|keep]] something [[keep]] something [[remove|remove|keep]] something"
print(re.sub("(?<=[\[\|])[^\[]*?\|", "", s))
輸出:
something [[keep]] something [[keep]] something [[keep]] something
正則運算式(?<=[\[\|])[^\[]*?\|可以分解為三個部分以回傳子字串...
(?<=[\[\|])- 緊接在子串左邊的是一個[或|[^\[]*?- 包含任何(非貪婪的)不是[\|- 并以|
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/382321.html
