以下代碼片段似乎不起作用。我希望將“This$#is”更改為“This is”,而“This$#”應保留為“This$#”,因為它末尾沒有正常字符。
import re
script = "This$#is"
sc = re.sub("^[A-Za-z] ([$#] )[A-Za-z] ", " ", script)
print(sc)
uj5u.com熱心網友回復:
您可以匹配字符類的 1 個或多個重復項,并在右側宣告一個 char az:
[$#] (?=[A-Za-z])
請參閱regex101上的匹配。
import re
script = "This$#is\nThis$#"
sc = re.sub(r"[$#] (?=[A-Za-z])", " ", script)
print(sc)
輸出
This is
This$#
如果要保留字串開頭的錨點,還可以使用捕獲組并在替換中使用它。
import re
script = "This$#is\nThis$#"
sc = re.sub("^([A-Za-z] )[$#] (?=[A-Za-z])", r"\1 ", script)
print(sc)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468596.html
