簡體   English   中英

正則表達式-刪除行末的任意數量的逗號

[英]Regex - remove any number of commas at the end of a line

好吧,Regex專家,我該如何更改自己的邏輯以解決此問題?

我做了一個正則表達式:

(,[,]+)

應該刪除行尾的多余逗號。 (行尾為\\ r \\ n),格式為字符串時。

它有效(有點)。

這是字符串:

Date,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24,\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24,,,,,\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24,,,,,\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24,,\r\n

當我運行該正則表達式時,其結果為:

Date,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24,\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24\r\nDate,1-Jul-18,1-Jul-19,1-Jul-20,1-Jul-21,1-Jul-22,1-Jul-23,1-Jul-24\r\n

我需要刪除第一行末尾的逗號(我想我需要先找到\\ r \\ n並殺死所有逗號,直到出現非逗號為止。

有關如何執行此操作的任何想法?

謝謝

(,+$)也許? (一個或多個逗號,緊接在行尾。)

如果您的語言支持正向前進,請嘗試以下操作-

([,]*)(?=\\r\\n)

我認為您可以匹配一個或多個,然后使用,+\\\\r\\\\n匹配\\r\\n ,+\\\\r\\\\n 不知道如何使用C#替換它。 在Perl中我會做

perl -pi -e 's/,+\\r\\n/\\r\\n/g' c.txt

(假設c.txt是包含您輸入文本的文件)。

暫無
暫無

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

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