所以我的字符串:如何将字符串变量切成更多?
string x = "DR\nDC\nDD";
我想每一行这样的分离变量:
string y1 = "DR";
String y2 = "DC";
String y3 = "DD";
我怎样才能做到这一点?
所以我的字符串:如何将字符串变量切成更多?
string x = "DR\nDC\nDD";
我想每一行这样的分离变量:
string y1 = "DR";
String y2 = "DC";
String y3 = "DD";
我怎样才能做到这一点?
使用字符串的split
方法。
string[] values = x.Split("\n");
,然后如果你真的希望他们在3个独立的变量...:
string y1 = values[0];
string y2 = values[1];
string y3 = values[2];
但我建议把它留在从那里阵列和处理。
String.Split('\n')
这将给你一个字符串数组。
使用String.Split这样的:
var arr = x.Split('\n');
string y1 = arr[0];
string y2 = arr[1];
string y3 = arr[2];
foreach (string yN in x.Split('\n'))
{
// do something with yN
}
或
string[] yN = x.Split('\n');
string y1 = yN[0];
string y2 = yN[1];
string y3 = yN[2];
你可以找到的 '\' 的指标和分析基础上。
Split方法还接受StringSplitOptions类型的第二个参数。您可以使用StringSplitOptions.RemoveEmptyEntries消除数组中的空白条目(例如,如果您的输入字符串类似于“DR \ nDC \ nDD \ n \ n \ nDE \ n”)。 – TLiebe 2010-03-18 17:03:29
谢谢,但我还有一件事。当我发送少于3个变量指示“索引在数组边界之外”时,我得到一个错误,因为如果我发送类似“DC \ nRC”值[2]会导致这样的错误。如何避免这种情况? – DanSogaard 2010-03-18 17:13:21
@DanSogaard - 这是将它放在数组中而不是将其存储在3个变量中的原因 - 它将其打开为任意数量的字符串,而不是将其限制为3。如果超过3个,会怎么样?你会忽略任何过去的第三。你对y1,y2和y3的值做什么?如果它是相同的东西,只需循环访问数组。 – froadie 2010-03-18 17:19:20