我一直試圖分裂一個字符串兩次,但我不斷收到錯誤「索引超出了數組的界限」。如何分割一個字符串TWICE
這是我打算分割字符串:
"a*b*c*d*e^1*2*3*4*5^e*f*g*h*i^"
使得我使用"^"
作爲分隔符在第一陣列分離,使得每個組將尋找第一結果後如下
a*b*c*d*e 1*2*3*4*5 e*f*g*h*i
然後此後對這個組與*
執行另一個分割操作作爲隔膜,使得結果,例如,從所述第一組是a b c d e
這是C#代碼:
words = "a*b*c*d*e^1*2*3*4*5^e*f*g*h*i^";
char[] del = { '^' };
string[] splitResult = words.Split(del);
foreach (string w in splitResult)
{
char[] separator = { '*' };
string[] splitR = w.Split(separator);
foreach (string e in splitR)
{
string first = splitR[0];
string second = splitR[1];
string third = splitR[2];
string fourth = splitR[3];
string fifth = splitR[4];
}
}
你有沒有試過words.Split(del,StringSplitOptions.RemoveEmptyEntries);?第一次拆分後的輸出是否爲空? – David 2013-03-16 07:39:39
您應該檢查splitR-array是否包含5個預期的元素。問題是最後一個w不包含任何數據(因爲最後一個'^') – Casperah 2013-03-16 07:40:38
@David謝謝,StringSplitOptions.RemoveEmptyEntries是我丟失的 – user2176410 2013-03-16 07:48:04