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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 15:24   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
Радость Как удалить лишние пробелы из строки?

Всем привет. Подскажите пожалуйста как можно удалить лишние пробелы?
Пример: ' Как удалить лишние проблелы ?'=> 'Как удалить лишние пробелы?'

Кпримеру как удалить буквы и символы я знаю(delete+pos) а как быть с пробелами?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 11.08.2010, 15:25   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

а чем пробел от символов отличается
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 11.08.2010, 15:36   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Собственно ессли зачищать пробелы из строки то получается вот так :
' Как удалить лишние проблелы ?'=> 'Какудалитьлишниепробелы?'
Потому и спрашиваю)
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 11.08.2010, 15:39   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

тогда так: http://delphiworld.narod.ru/base/str_del_spaces.html и так: http://delphiworld.narod.ru/base/delete_substrings.html
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 11.08.2010, 15:40   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Как удалить лишние пробелы?
начать с определения понятия лишний пробел (к примеру)
1 текст или оператор
2.процедура, функция
3. "цитата с размером "
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 11.08.2010, 15:52   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

попробуй так (я не проверял)
Код:
procedure delprob (var stroka: string);
var
    i: integer;
begin
    for i := 1 to length(stroka) do
    begin
        if (stroka[i] = ' ') and (stroka[i+1] = ' ') then
            delete(stroka, i, 1);
    end;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 11.08.2010, 16:03   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мне кажется надежнее будет:
Код:
s:='nen   nng  g g f';
while (s<>'')and(pos('  ',s)<>0) do s:=StringReplace(s,'  ',' ',[rfreplaceall]);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 16:34   #8
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

hacker19_90 твой код работать будет неверно.

Stilet, а зачем (s<>'') ? Имхо лучше так:
Код:
while pos('  ',s)<>0 do s:=StringReplace(s,'  ',' ',[rfreplaceall]);
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 16:40   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
hacker19_90 твой код работать будет неверно
Поподробнее!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 11.08.2010, 16:46   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Поподробнее!
цикл FOR от 1 до длины строки,
а строка то уменьшается (delete(...) - вот и будут проблемы!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу delphi MASIK Общие вопросы Delphi 7 22.12.2010 18:23
удалить лишние пробелы со строки так чтобы между словами осталось по одному пробелу java llRom4ikll Общие вопросы по Java, Java SE, Kotlin 2 12.04.2010 19:35
Как удалить все лишние пробелы в тексте Gektor51 Microsoft Office Word 3 18.12.2009 14:08
Удалить лишние пробелы Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 5 06.04.2009 22:45
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу c++ DimaG Общие вопросы C/C++ 1 01.11.2007 21:50