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并在此之前删除任何逗号,直到出现非逗号。
有什么想法吗?
感谢
(,+$)
可能吗?(一个或多个逗号后紧跟一行的末尾。)
如果您的语言支持正向前瞻,请尝试此-
([,]*)(?=''r''n)
我认为可以使用,+''r''n
匹配一个或多个,
和'r'n
。不知道如何使用C#来替换它。对不起。在perl中,我会做
perl -pi -e 's/,+''r''n/''r''n/g' c.txt
(假设c.txt
是一个包含输入文本的文件)。