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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2013, 15:09   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я думаю, что через StringReplace данную задачу решить не получится...
Согласен. Регулярками можно. Однако в Делфи автора темы их может не быть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2013, 15:24   #12
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Как это?!
я думаю, что через StringReplace данную задачу решить не получится...
И тем не менее я бы поизвращался над решением и попробовал бы как-то так:
Код:
var
 s,k: string;
 i: integer;
begin
 k:='';
 s:='uy43gujh423';
 for i:=1 to Length(s) do
 begin
  if s[i] in [0..9] then
  begin
   k:=k + StringReplace(s[i],'',[rfReplaceAll]);
  end;
 end;
end;
Сразу предупреждаю, что это всего лишь теория! Но я бы ради интереса все равно попробовал сделать так. Почему-то уверен, что это возможно. Главное правильно передать строка и применить функцию
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 29.01.2013, 15:35   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда уж так:
Код:
for c:='0' to '9' do s:=StringReplace(s,c,'',[rfreplaceall]);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2013, 15:36   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

artemavd, чет не то. Вот шуточный вариант для Д7
Код:
  for c:=chr(0) to chr(255) do
    if not (c in ['0'..'9','.']) then s:=StringReplace(s,c,'',[rfReplaceAll]);
Виталий, зачем цифры убивать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2013, 15:41   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тьху... Задачу перетупал... Ну да ты прав конечно. Но ИМХО for c:='a' to 'z' лучше будет, по крайней мере при юникоде.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2013, 15:46   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
for c:='a' to 'z' лучше будет, по крайней мере при юникоде
не, я обработал строку-монстра, куда напихали чего не лень. Для юникода уже код монстром в квадрате станет, хотя он и так монстровидный
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лаба7: Удалить все буквы "а" из строки (Паскаль) Владан Паскаль, Turbo Pascal, PascalABC.NET 35 05.11.2012 23:26
Строки. Преобразовать строку: оставить слова, содержащие буквы и цифры, остальные удалить Ленка ленка Паскаль, Turbo Pascal, PascalABC.NET 1 23.04.2012 11:51
Строки(pascal) - удалить все гласные русские буквы wormiks40 Помощь студентам 3 20.04.2012 09:39
От числа удалить буквы valerij Microsoft Office Excel 12 01.02.2012 13:01