Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.01.2013, 20:12   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
удалит все пробелы в строке s
StringReplace() сейчас в моде
I'm learning to live...
Stilet вне форума
Старый 27.01.2013, 21:00   #12
Develop
Пользователь
 
Регистрация: 26.06.2010
Сообщений: 52
По умолчанию

Цитата:
Сообщение от mosq Посмотреть сообщение

while pos(' ',s)>0 do delete(s,pos(' ',s),1);

удалит все пробелы в строке s
очень элегантный способ!!!

но все же я написал бы так:
Код:
n:= Length(str);
res:= '';
for i:=1 to n do
  if str[i] <> ' ' then
    res:= res + str[i];
Develop вне форума
Старый 27.01.2013, 22:36   #13
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Вариант с while pos плох тем, что каждый раз проверка строки снова - если строка состорит из тысячи символов а пробелов штук 100 в конце , то она прочтет строку 100 тысяч раз посимвольно. Пример, конечно, утрирован, но уже означает, что неуниверсальный алгоритм - сильно гуляет его сложность.
Пример с for res := res +str[i] тоже плохой, на строках высоких длин количество переаллокаций памяти под них будет удручающе - в таких случаях лучше заранее разаллоцировать строку, например, setlength'ом и в неё лить символы, а в конце обрезать по нужную длину.
phomm на форуме
Старый 28.01.2013, 08:36   #14
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ответ уже дан: StringReplace
Хватит уже разводить тему на несколько страниц!
Закрыто.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать лишние пробелы ДмитрийРэй C# (си шарп) 1 22.05.2011 09:19
убрать лишнии пробелы мария2507 Microsoft Office Excel 12 14.04.2010 17:11
убрать пробелы zetrix Microsoft Office Excel 9 10.03.2009 10:03
Убрать пробелы из строки Neymexa Помощь студентам 2 09.12.2008 14:29
Убрать пробелы из строки Neymexa Общие вопросы по Java, Java SE, Kotlin 2 29.11.2008 11:03