| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Удаление лишних пробелов в строке |
| Автор: s_a_s_h_a 28.4.2006, 10:48 |
| Есть какая-нибудь стандартная функция для удаления лишних пробелов внутри строки? А может быть есть какая-нибудь либа, которая бы реализовывала хотя бы некоторые возможности, которые есть в Перле или ПХП при работе со строками? В частности, что-то подобное регулярным выражениям. |
| Автор: _hunter 28.4.2006, 11:17 |
| Удалять можно что самому что AnsiReplaceStr/AnsiReplaceText что StringReplace регулярные выражения есть в TRegExp |
| Автор: sexton 28.4.2006, 11:20 | ||
Как вариант
|
| Автор: s_a_s_h_a 28.4.2006, 11:49 | ||||
так, я думаю, все пробелы будут удалены, а не только лишние. Лишние - это те, что после первого пробела после каждого слова. |
| Автор: _hunter 28.4.2006, 11:57 |
| значит AnsiReplaceText(Text, " ", " "); а, вообще, это самому проще сделать... потому как лишние это еще и перед всякими запятыми и т.д. ... |
| Автор: Sanek123 4.5.2009, 10:11 | ||
Я вот тут что-то начал городить циклы, но их слишком много!
Может можно как-нибудь упростить? Ну, хотя бы в одну строчку, чтоли. Надо чтоб из текста остались только слова разделенные одним пробелом. |
| Автор: A5uKa 4.5.2009, 10:39 |
| del |
| Автор: Alca 4.5.2009, 10:58 | ||
|
| Автор: Лапоть 4.5.2009, 15:14 | ||
|
| Автор: artsb 4.5.2009, 18:01 | ||
| Лапоть, ваш код себя не адекватно ведёт, если поставить много пробелов подряд. s_a_s_h_a, как вариант:
|
| Автор: Лапоть 4.5.2009, 19:32 | ||
| artsb, А проверить слабо? Брось на форму два едита и батон, вот код
Вот результат: ![]() Я этим пользуюсь не один год. Пока проколов не было... |
| Автор: artsb 4.5.2009, 19:45 | ||
| Лапоть, сори. Виноват. Я просто пробовал так:
Естественно, последующие вызовы strtok были не корректными. Вот я и получал кашу. |
| Автор: Лапоть 4.5.2009, 19:56 |
| Бывает! Не расстраивайся! |