String.Splitメソッドを使用せずに文字列を分割したい。
可能な解決策を見つけましたhere私が使用するコードは2番目の答えからです。
これは私のコードです: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();
}
ここに私の問題は、私はこの
犬猫車の人によって「」のような文字列を分割しようとすると、結果は最後にすることなく、言葉が含まれていることです(この例では人)。
最後の単語の後に空白がある場合、結果は正しいです。
私は0からに私< = input.Lengthあるとき、forループ、私はinput.Lengthを== のようなものを追加しようとしました。しかし、結果はまだ最後の言葉なしでした。
何か不足していますか?
forループの最後にバッファが空でないかどうかを確認する必要があります。それが空であれば、それが行われるか、またはまだ最後の文字セットが残っている – praty
ループがバッファ長をチェックした後。 0以上の場合は、リストに追加します。 –