如何根据字符串数组的内容从字符串中删除字符串?

时间:2013-02-21 16:16:28

标签: c# arrays string

检查某些内容是否包含myString中任何元素的任何实例。有些东西可能是“Sideboard:1 Forest”,“SB:1 Mountain”,“SB 1 Plains”等。如果某些东西确实包含了数组中的任何元素,那么这些元素后面总是会有一个空格,一个数字,一个空格和一个字符串:“1沼泽”。

string[] myString = {"Side", "side", "Board", "board", "Sideboard", "sideboard", "SB", "sb", "SB:", "sb:"};

if(myString.Any(s => something.Contains(s)))
{
    // newSomething = something but with any instance of any element in myString removed
    // from the start of something up to the first whitespace.
}

我需要帮助删除上面if语句块中的注释部分。

修改

这些是一些直言不讳的反应,但我理解!

我确实通过了介绍,并试图搜索相关的东西,但无法找到这种情况。这是我为个人使用而制作的一个小程序,而不是作业。我对正则表达式一无所知。

至于澄清,在程序中发现“something”包含“myString”数组中的任何元素的那一点,我想要仅从“某事物”中字符串的开头删除这些元素

Ex:something =“Sideboard:1 Inside Out”

我想仅从字符串的开头和数字之前删除“myString”元素,因为数字后面的字符串也可能包含“myString”元素。

此外,在提交此问题后,我立即找到了一种删除方法:我只使用了TrimStart(),其中包含一个包含“myString”中元素各个字符的数组。这样做了我想要的,但我保持这个问题,寻找更优雅的解决方案。因此,出于所有意图和目的,这个问题已经得到解答。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

string newSomething = something.Substring(0, something.IndexOf(' '));

上面的代码将返回一个以'something'字符串中第一个空格实例结尾的字符串。如果'something'字符串中没有空格,则会有例外。

不确定这是否是你想要的,祝你好运。