所以我的字符串:如何將字符串變量切成更多?
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