Я написал следующий фрагмент, чтобы избавиться от лишних пробелов в блоках текста
int index = text.IndexOf(" ");
while (index > 0)
{
text = text.Replace(" ", " ");
index = text.IndexOf(" ");
}
В целом это работает нормально, хотя и довольно примитивно и, возможно, неэффективно.
Когда текст содержит "-" по какой-то причудливой причине, indexOf возвращает совпадение! Функция Replace ничего не удаляет, а затем застревает в бесконечном цикле.
Есть идеи, что происходит со строкой.IndexOf?