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

时间:2016-04-11 20:43:23

标签: c# string parsing decoding

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

3 个答案:

答案 0 :(得分:5)

使用Split类的String方法:

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

编辑:

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

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

答案 1 :(得分:3)

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

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

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

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

答案 2 :(得分:1)

使用Split方法,如下所示:

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

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

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