удаление пробелов — замена пробелов в wxString, переполнение стека

Я хотел бы заменить каждую подстроку, содержащую любое количество пробелов в wxString, на один символ или строку символов — например, «. *» (В c ++).

В качестве альтернативы, возможно, есть простой способ преобразовать каждую подстроку в один пробел. Затем я мог бы использовать метод wxString :: Replace на втором шаге, чтобы заменить один пробел на что-то другое:
wxStringInstance.Replace (wxT («»), wxT («. *»));

Так, например, если моя wxString содержит «Winter \ s \ s \ s \ s \ s идет», я хотел бы изменить его на
«Зима. * Идет. * Идет», а не «зима. *. *. *. *. * Идет. *. *. * Идет». Может ли кто-нибудь помочь мне, пожалуйста? … Я был бы очень признателен, спасибо 🙂

0

Решение

Чтобы решить эту проблему, создайте небольшой конечный автомат с двумя состояниями: «на пробеле» или «на тексте». Затем пропустите ввод (вы можете начать в любом состоянии в зависимости от того, как вы обрабатываете начальные пробелы). Когда вы переходите от «на тексте» к «на пустом месте», вы испускаете пробел, когда вы «на тексте» вы испускаете текст, когда вы переходите от «на пропусках» к «на пустом месте», вы ничего не излучаете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]