Regex-删除行末尾任意数量的逗号

本文关键字:任意数 删除行 Regex- | 更新日期: 2023-09-27 18:00:15

好吧,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并在此之前删除任何逗号,直到出现非逗号。

有什么想法吗?

感谢

Regex-删除行末尾任意数量的逗号

(,+$)可能吗?(一个或多个逗号后紧跟一行的末尾。)

如果您的语言支持正向前瞻,请尝试此-

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

我认为可以使用,+''r''n匹配一个或多个,'r'n。不知道如何使用C#来替换它。对不起。在perl中,我会做

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

(假设c.txt是一个包含输入文本的文件)。