RegEx将字符串中的多个连字符替换为一个连字符?asp.net C#

本文关键字:连字符 一个 net asp 替换 字符串 RegEx | 更新日期: 2023-09-27 17:59:06

string inputString = "Flat---Head-----Self-Tap-Scr---ews----3-x-10mm-8pc";
string outputString = "Flat-Head-Self-Tap-Scr-ews-3-x-10mm-8pc";

RegEx将字符串中的多个连字符替换为一个连字符?asp.net C#

string inputString = "Flat---Head-----Self-Tap-Scr---ews----3-x-10mm-8pc";
string outputString = Regex.Replace(inputString , @"-+", "-", RegexOptions.None);

Regex:-+,替换为-.;)

这是我的解决方案

text = "Flat---Head-----Self-Tap-Scr---ews----3-x-10mm-8pc";
while (text.Contains("--"))
{
    text = text.Replace("--", "-");
}

您也可以通过-使用Split和使用Join

text = "Flat---Head-----Self-Tap-Scr---ews----3-x-10mm-8pc";
string result = string.Join("-", text.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries));

第二个答案不是我自己的答案,我是从这个问题中得到的c#修剪逗号直到出现文本。我想添加更多的变量:)