从包括XYZ在内的字符串中删除所有内容

时间:2014-07-04 08:14:35

标签: c# c#-4.0 .net-4.0

如果我有以下字符串:

String test;
test = "bla bla bla XYZ bla bla bla XYZ bla bla bla";

如何从字符串中删除包括XYZ首次出现在内的所有内容。所以我最终应该:

test2 = "bla bla bla ";

注意: bla bla bla可以是任何内容,事先不知道XYZ的位置,事先也不知道XYZ's的数量。< / p>

3 个答案:

答案 0 :(得分:4)

尝试使用String.IndexOfString.Substring

String test;
test = "bla bla bla XYZ bla bla bla XYZ bla bla bla";
test.Substring(0, test.IndexOf("XYZ"));

demo

答案 1 :(得分:3)

您可以使用String.SubstringString.IndexOf方法。

这是LINQPad;

中的示例
string test = "bla bla bla XYZ bla bla bla XYZ bla bla bla";
test.Substring(0, test.IndexOf("XYZ")).Dump();

此印刷品

bla bla bla 

这里有 demonstration

IndexOf获取您的第一个XYZ出现的索引,无论您有多少XYZSubstring方法将0索引中的所有字符都获取到该索引。

注意:结果在结尾处有一个空格,但您无法在此处看到:)

答案 2 :(得分:1)

另一种方式:

var test = "bla bla bla XYZ bla bla bla XYZ bla bla bla";

var result = test.Split(new [] { "XYZ" },StringSplitOptions.None).First();