C# 如何删除字符串?

C# 如何删除字符串?,c#,asp.net,regex,string,C#,Asp.net,Regex,String,我有这样一个字符串: string s1 = "abc,tom,--Abc, tyu,--ghh"; 这个字符串是动态的,我需要删除所有以开头的子字符串--“” 示例字符串的输出: s1 = "abc,tom, tyu"; 如何删除这些子字符串?查看 对不起,我应该把问题读对了。 Regex会出现在你的脑海中 编辑 LINQ string s1 = "abc,tom,--Abc, tyu,--ghh"; var s2 = s1 .Split(',') .Where(s => s

我有这样一个字符串:

string s1 = "abc,tom,--Abc, tyu,--ghh";
这个字符串是动态的,我需要删除所有以
开头的子字符串--“

示例字符串的输出:

s1 = "abc,tom, tyu";
如何删除这些子字符串?

查看

对不起,我应该把问题读对了。 Regex会出现在你的脑海中

编辑

LINQ

string s1 = "abc,tom,--Abc, tyu,--ghh";
var s2 = s1
  .Split(',')
  .Where(s => s.StartsWith("--") == false)
  .Aggregate((start, next) => start + "," + next);
Console.WriteLine(s2);
尝试:


这将在字符串中搜索以
--
开头、某些字符不是逗号(空格或字母)和逗号(可选-末尾没有逗号)的块。

string.Replace不会删除该项,它只会删除
--
。您应该说明如何标记子字符串的结尾。它似乎是用逗号或字符串结尾,但在你的问题中,你真的应该这样说。
Regex.Replace(s1, "--[^,]*,?", "");