簡體   English   中英

正則表達式替換python中的多個標點符號

[英]Regex replace multiple punctuation in python

我想找到多次出現驚嘆號,問號和句號(例如!!?!...?...! )並用最后的標點符號替換它們。

!?!?!? 會成為?

....! 會成為!

這可能嗎?

text = re.sub(r'[\?\.\!]+(?=[\?\.\!])', '', text)

也就是說,刪除任何序列的?!. 將被另一個人跟隨的角色?!. 字符。

[...]是一個角色類。 它匹配括號內的任何字符。

+表示“這些中的一個或多個”。

(?=...)是一個先行者。 它看起來會看到字符串中接下來會發生什么。

text = re.search('[.?!]*([.?!])', text).group(1)

這種方式的工作方式是括號創建一個捕獲組 ,允許您通過group函數訪問匹配的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM