Причина в том, что замена 2 пробелов на 1 в строке из 5 пробелов, например, просто уберет каждый второй пробел. Пробелы правильно регуляркой убираешь. В последнем варианте нет ничего плохого. Только \s+ можно заменить на \s{2,} потому что менять один пробел на один пробел - занятие бессмысленное)
|