簡體   English   中英

用於替換逗號的復雜正則表達式模式

[英]Complex RegEx patter for replacing commas

我對 REGEX 模式有一個問題,它必須用一個逗號替換兩個逗號,后面有一個空格,但是如果只有一個逗號並且后面沒有空格,我希望它在那里添加那個空格。

目前,我正在使用這種模式 - /([,]+)/g ,但如果我有一個逗號和空格,它會增加一個空格。

案例:

  • 文本,,文本->文本, 文本
  • 文本,文本->文本,文本
  • 文本,文本->文本,文本
  • 文本,,文本,,文本->文本, 文本, 文本

(我正在使用 Java)

你有什么建議,這個 REGEX 模式應該是什么樣子? 我還是有點困惑。

謝謝。

您想要的是確保每個逗號鏈后面都有一個空格,而不是在每種情況下都創建一個。 您可以使用前瞻來執行此操作,但我更喜歡包容性檢查,如果字符鏈已經包含空格,如果是這樣,也替換它們。

str.replaceAll("\\,+ *", ", ");

上面的答案將占用逗號后的所有(真實)空格並替換它們,這樣,您插入的單個空格是唯一的。 這不適用於換行符。 如果您有換行符並想明確處理它們,那么您需要以不同的方式進行。 換句話說,如果逗號后面是換行符,則(新)逗號和換行符之間將有一個空格。

暫無
暫無

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

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