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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2014, 16:10   #1
referent
Пользователь
 
Регистрация: 31.01.2012
Сообщений: 49
Вопрос Delphi Замена в строке нескольких пробелов подряд на один пробел и удаление знаков “+” перед положительными числами

Цитата:
Для заданного предложения выдать эквивалентное ему предложение, полученное путем замены нескольких подряд следующих пробелов одним пробелом и удаления знаков “+” перед положительными числами.
Народ, кто может дать функцию (Delphi), получающую строку и возвращающую другую, отформатированную согласно заданию?
referent вне форума Ответить с цитированием
Старый 10.05.2014, 16:23   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

По первой половине задания
http://www.programmersforum.ru/showthread.php?t=29366
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 10.05.2014, 17:09   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
удаления знаков “+” перед положительными числами
Нужно конкретное определение положительніх чисел в текстовой строке
Где в следующих строках положительное число:
abc+123khf
-+1JJ
JJ +1 HH
ООО + ООО
+++ 2344

Заменить двойные пробелы на одинарные можно так
Код:
function ReplaceSpace(Value: String): String;
begin
  Result:=Value;
  while Pos('  ',Result)>0 do Result:=StringReplace(Result,'  ',' ',[rfReplaceAll]);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.05.2014, 18:47   #4
referent
Пользователь
 
Регистрация: 31.01.2012
Сообщений: 49
По умолчанию

Код:
function FormatString(str : string) : string;
var
  i : integer;
begin
  result := str;
  while pos('  ', result) > 0 do
   delete(result, pos('  ', result), 1);
  for i := 1 to length(result) - 1 do
    begin
      if result[i] = '+' then
        if (result[i + 1] in ['0'..'9']) then
          delete(result, i, 1);
    end;
end;
Всем спасибо, сделал так.
referent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пробелов,знаков табуляции и вывод количества удаленных символов(си) Sergey152 Помощь студентам 1 12.11.2013 23:28
подсчитать количество цифр в символьной строке и напечатать все, кроме пробелов, знаков операций и пунктуации. множества Pascal программирование Помощь студентам 4 11.06.2013 09:24
удаление лишних пробелов или знаков '_' из MaskEdit Blood_ghosT Компоненты Delphi 6 07.12.2011 20:23
Удаление пробелов в строке aimk0 БД в Delphi 7 17.06.2011 09:14