Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> замена строк 
V
    Опции темы
0x00000000
Дата 5.11.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 27.8.2008

Репутация: нет
Всего: -1



дана строка вида gfdgdfh....dfhdfh..fdhdf.dfhdfh
в ней нужно заменить любую групу точек на три точки вот так gfdgdfh...dfhdfh...fdhdf...dfhdfh
помогите плиз
PM MAIL   Вверх
VanHelsing
Дата 5.11.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ХОЧУ ВСЕ ЗНАТЬ!!!
**
Награды: 1



Профиль
Группа: Участник
Сообщений: 288
Регистрация: 3.1.2008
Где: Екатеринбург

Репутация: нет
Всего: 6



Думаю вам поможет следующая связка:
Функция POS, возвращаяющая позицию первого вхождения подстроки в строку.
Код

Pos(исходная_строка,подстрока_поиска);

А далее процедуры Delete и Insert.


--------------------
PM MAIL   Вверх
volvo877
Дата 5.11.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Как-то вот так:
Код
const
  s: string = 'gfdgdfh....dfhdfh..fdh.df.dfhdfh';
var
  i, j: integer;

begin
  i := 1;
  while i <= length(s) do begin

    if s[i] = '.' then begin
      j := 0;
      while (i + j <= length(s)) and (s[i + j] = '.') do inc(j);

      if j > 3 then delete(s, i, j - 3)
      else
        while j < 3 do begin
          insert('.', s, i); inc(j);
        end;

      inc(i, 2);
    end;
    inc(i);
  end;
  writeln(s);
end.

PM MAIL   Вверх
0x00000000
Дата 5.11.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 27.8.2008

Репутация: нет
Всего: -1



volvo877, огромное спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.