删除字符串之后的所有内容,包括XYZ

本文关键字:包括 XYZ 字符串 之后 删除 | 更新日期: 2023-09-27 18:11:37

如果我有以下字符串:

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的数量也事先不知道。

删除字符串之后的所有内容,包括XYZ

尝试使用字符串。IndexOf和String.Substring.

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

demo

可以使用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 

这里a demonstration

无论有多少个XYZ

IndexOf都将获得第一个XYZ的索引。Substring方法从0索引中获取该索引的所有字符。

注意:结果在最后有一个空白,但是你不能在这里看到:)

另一种说法:

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