C# 从字符串中删除字符列表后的元素-不使用foreach循环

C# 从字符串中删除字符列表后的元素-不使用foreach循环,c#,asp.net,string,C#,Asp.net,String,我有一个字符串可能包含一些禁止的字符,比如: char[] BAD_CHARS = new char[] { '-', '.' }; 我希望像“Foo 106.4”这样的字符串像“Foo 106”一样表示 这将是解决方案。。。但我在寻找更有活力的东西 如何在不执行foreach循环的情况下将上述逻辑应用于坏字符 你可以用这种方式做 或 你可以试一试你可以用这种方法 或 你可以试试看你已经很接近了。假设你想在第一个(而不是最后一个)坏角色时停止 fooString = fooString.Sub

我有一个字符串可能包含一些禁止的字符,比如:

char[] BAD_CHARS = new char[] { '-', '.' };
我希望像“Foo 106.4”这样的字符串像“Foo 106”一样表示

这将是解决方案。。。但我在寻找更有活力的东西


如何在不执行foreach循环的情况下将上述逻辑应用于坏字符

你可以用这种方式做


你可以试一试

你可以用这种方法


你可以试试看

你已经很接近了。假设你想在第一个(而不是最后一个)坏角色时停止

fooString = fooString.Substring(0, fooString.IndexOfAny(BAD_CHARS));

这样做的好处是不必处理(并拆分为子字符串)整个输入。

您已经非常接近了。假设你想在第一个(而不是最后一个)坏角色时停止

fooString = fooString.Substring(0, fooString.IndexOfAny(BAD_CHARS));

这样做的好处是不必处理(并拆分为子字符串)整个输入。

而不必执行foreach循环?改为使用for循环。我要求另一种解决方案。如果你不知道一个。。。希望其他人会,我们都能从我的工作中学到东西question@SriramSakthivel你能去掉重复的标签吗?很明显,对于不同的问题,这是一个不同的解决方案。如果不同,我将删除它。这不是你想要的吗?或者您不需要在
坏字符之后使用字符
?我需要出现之前的所有字符;这种情况应该出现在特殊字符列表中。我需要比foreach循环更快地实现该解决方案。@DatRid提供的结果就是这样。我是这个社区的积极成员,我只问了一些独特的问题(在问这个问题之前我做了SO研究),而没有做foreach循环?改为使用for循环。我要求另一种解决方案。如果你不知道一个。。。希望其他人会,我们都能从我的工作中学到东西question@SriramSakthivel你能去掉重复的标签吗?很明显,对于不同的问题,这是一个不同的解决方案。如果不同,我将删除它。这不是你想要的吗?或者您不需要在
坏字符之后使用字符
?我需要出现之前的所有字符;这种情况应该出现在特殊字符列表中。我需要比foreach循环更快地实现该解决方案。@DatRid提供的结果就是这样。我是这个社区的积极成员,我只问了一些独特的问题(在问这个问题之前,我做了一些调查),没问题!如果答案足够好,请接受或投票,谢谢!当然我等了几分钟才没问题!如果答案足够好,请接受或投票,谢谢!当然我得等几分钟才能回答这正是我需要的,应该是我问题的明确答案这正是我需要的,应该是我问题的明确答案
string foostring = "foo 204.5-4";
string result = foostring.Split(BAD_CHARS)[0];
fooString = fooString.Substring(0, fooString.IndexOfAny(BAD_CHARS));