我想拆分字符串而不使用String.Split方法。
我發現了一個可能的解決方案here。我使用的代碼來自第二個答案。
這是我的代碼:不使用String.Split方法拆分字符串不會返回正確的結果
public string[] SplitString(string input, char delimiter)
{
List<String> parts = new List<String>();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < input.Length; i++)
{
if (input[i] == delimiter)
{
parts.Add(buff.ToString());
buff.Clear();
}
else
{
buff.Append(input[i]);
}
}
return parts.ToArray();
}
我在這裏的問題是,當我試圖將一個字符串分解這樣
狗貓汽車人通過「」,結果包含單詞沒有最後一個(在這個例子中 - 人)。
如果在最後一個單詞後有一個空格,結果是正確的。
我嘗試添加像我== input.Length當for循環是從0到我< = input.Length。但結果仍然沒有硬道理。
我錯過了什麼嗎?
您應該檢查for循環結束時buffer是否爲空。如果它是空的,則完成,或者仍有最後一組字符。 – praty
循環檢查緩衝區長度。如果它多於0,則將其添加到列表中。 –