Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.02.2011, 22:35
maZaHaKa maZaHaKa вне форума
Прохожий
 
Регистрация: 12.03.2010
Сообщения: 13
Репутация: 10
По умолчанию Замена символов

Как осуществить замену нескольких идущих подряд символов в строке?
например в строку вводят hd#d7(378dh3g
Нужно взять из текста d#d и заменить на &
в итоге в другой строке должно получится h&7(378dh3g
Каким способом это можно реализовать?
Спасибо.
Ответить с цитированием
  #2  
Старый 24.02.2011, 22:52
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Поиск по функциям:
Код:
StringReplace
Copy
Pos
PosEx
Delete
Эти пару функций для работы со строками

ЗЫ В твоем случае замена была бы такая:
Код:
var
  s: String;
begin
  s:=Edit1.Text;
  s:=StringReplace(s, 'd#d', '&', [rfReplaceAll]);
  ShowMessage(s);
end;
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 25.02.2011, 12:35
maZaHaKa maZaHaKa вне форума
Прохожий
 
Регистрация: 12.03.2010
Сообщения: 13
Репутация: 10
По умолчанию

спасибо большое!
А если мне нужно например несколько комбинаций символов заменить?
7#$ - 3
3$$ - ?
(#4 - %
вот найти их и заменить другими символами
Ответить с цитированием
  #4  
Старый 25.02.2011, 13:06
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

ну типа можно так
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  gg = record
   old :string;
   new :string;
   end;
  Tarray= array[1..100] of gg;
var
  Form1: TForm1;

implementation

{$R *.dfm}
function StrRepAll(text:string;pattern:Tarray):string;
var i:integer;
begin
for i:=1 to length(pattern) do
text:=StringReplace(text,pattern[i].old,pattern[i].new,[rfReplaceAll]);

Result:=text;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a: Tarray;
    test:string;
begin
test:='gdfg-1dfgd-2ffgd-3';
 a[1].old:='-1';
 a[1].new:='1';
 a[2].old:='-2';
 a[2].new:='2';
 a[3].old:='-3';
 a[3].new:='3';
 test:=StrRepAll(test,a);
 showmessage(test);
end;

end.
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter