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();
}
여기 내 문제는 내가이
개 고양이 자동차 사람 에 의해 "" 같은 문자열을 분할 할 때, 결과는 마지막없이 단어가 포함되어 있다는 것입니다 하나 (이 예에서는 - 사람).
마지막 단어 뒤에 공백이 있으면 결과가 정확합니다.
내가 뭔가를 놓친 건가요?
for 루프의 끝에서 버퍼가 비어 있지 않은지 확인해야합니다. 비어있는 경우 완료되거나, 마지막 문자 세트가 남았습니다. – praty
루프가 버퍼 길이를 확인한 후. 0 이상인 경우 목록에 추가하십시오. –