如何获取两个特定符号之间的字符串

How to get string between two specific symbols

我有一个像这样的字符串:***T1***2DAR***R1***。我想在三个不同的字符串中获取这三个(T1、2DAR、R1)值。如何在 VS 2015 的单个字符串中解码特定符号(如 ***)之间的字符串?

使用 Split method of the String class :

var values = "***T1***2DAR***R1***".Split(new string[] { "***" }, StringSplitOptions.RemoveEmptyEntries);

编辑:

这将为您 return 一个字符串数组,您可以使用索引器访问每个值:

string s1 = values[0]; // Will give you "T1"
string s2 = values[1]; // Will give you "2DAR"
string s3 = values[2]; // Will give you "R1"

像这样使用Split方法:

string str = "***T1***2DAR***R1***";

var result = str.Split(new []{"*"}, StringSplitOptions.RemoveEmptyEntries);

这将为您提供单个字符串的数组。

这就是 String.Split 派上用场的地方:

string[] items = "***T1***2DAR***R1***".Split(new string[] { "***" }, StringSplitOptions.RemoveEmptyEntries)

上面的代码 returns 一个包含 "T1""2DAR""R1" 的数组。

第一个参数表示分隔符,此处 "***",第二个参数确保不会返回分隔符之间的空字符串。没有它,将在开头(在初始 *** 之前)和输入结束时(在尾随 *** 之后)返回一个空字符串。