c# - 正则表达式删除字符串中的双/三逗号

标签 c# regex

我需要解析一个字符串,所以结果应该像这样输出:

"abc,def,ghi,klm,nop"

但我收到的字符串可能看起来更像这样:

",,,abc,,def,ghi,,,,,,,,,klm,,,nop"

关键是,我事先并不知道单词之间有多少个逗号分隔。
有没有我可以在 C# 中使用的正则表达式来帮助我解决这个问题?

最佳答案

您可以使用 ,{2,} 表达式来匹配出现的 2 个或更多逗号,然后将它们替换为单个逗号。

您可能还需要一个 Trim 调用,以删除 Regex.Replace 调用遗留下来的任何前导或尾随逗号。 (可能有一些方法可以只用一个正则表达式替换来做到这一点,但没有立即想到。)

string goodString = Regex.Replace(badString, ",{2,}", ",").Trim(',');

关于c# - 正则表达式删除字符串中的双/三逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2057361/

相关文章:

c# - 如何在适用于 C# 的 Azure SDK 中使用仅获取 IList

c# - 仅在 azure 上 : Could not create SSL/TLS secure channel

regex - 使用替换转义反斜杠时遇到问题

c# - 在 int List 中插入一个值然后对列表进行排序的最快方法

java-joda 日期时间类(当前系统时间)?

c# - PoseProvider.cs 和 Tango : MonoDevelop error

python - 使用正则表达式剪切以特定字符开头的字符串?

Python 在支持反向引用的同时替换多个字符串

c# - 使用 Regex.Replace 方法时如何找到子字符串?

javascript - 如何使用正则表达式在字符串中找到没有相邻重复项的第一个字符?