我想在不使用 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();
}
我的问题在于当我尝试用" "分割这个字符串
dog cat car person时,结果包含没有最后一个单词的单词(在这个例子中是person)。
如果在最后一个单词之后有一个空格,结果就正确了。
我尝试在for循环从0到i <= input.Length时添加i == input.Length。但结果仍然没有最后一个单词。
我错过了什么吗?