|
:: MVP ::
|
|
|
:: RSS ::
|
|
|
Как удалить пробелы, обрамляющие строку?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Edit1.Text := Trim(s);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
while s[1] = ' ' do
Delete(s, 1, 1);
while s[Length(s)] = ' ' do
Delete(s, Length(s), Length(s));
Edit1.Text := s;
end;
|
Как удалить пробелы, обрамляющие строку слева?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Edit1.Text := TrimLeft(s);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
while s[1] = ' ' do
Delete(s, 1, 1);
Edit1.Text := s;
end;
|
Как удалить пробелы, обрамляющие строку справа?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Edit1.Text := TrimRight(s);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
while s[Length(s)] = ' ' do
Delete(s, Length(s), Length(s));
Edit1.Text := s;
end;
|
Как удалить из строки все пробелы?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
while Pos(' ', s) > 0 do
Delete(s, Pos(' ', s), 1);
Edit1.Text := s;
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
s := StringReplace(s, ' ', '', [rfReplaceAll]);
Edit1.Text := s;
end;
|
Как получить индекс первого интересующего нас символа в строке?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Caption := IntToStr(Pos('Т', s));
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i: integer;
begin
s := ' Тестовая строка ';
for i := 1 to Length(s) do
if s[i] = 'Т' then
begin
Caption := IntToStr(i);
Break;
end;
end;
|
Как получить индекс последнего интересующего нас символа в строке?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Caption := IntToStr(LastDelimiter('а', s));
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i: Integer;
begin
s := ' Тестовая строка ';
for i := Length(s) downto 1 do
if s[i] = 'а' then
begin
Caption := IntToStr(i);
Break;
end;
end;
|
Как определить длинну строки?
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ' Тестовая строка ';
Caption := IntToStr(Length(s));
end;
|
Как сделать бегущую строку?
// Способ первый
var
Form1: TForm1;
Str: string = ' Добро пожаловать на сайт http://decoding.narod.ru ';
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Caption := Str;
Str:= Copy(Str, 2, Length(Str)-1) + Str[1];
end;
// Способ второй
procedure TForm1.Timer1Timer(Sender: TObject);
var
i: Integer;
s: string;
begin
s := Caption;
for i := 1 to Length(s)-1 do
s[i] := Caption[i+1];
s[Length(s)] := Caption[1];
Caption := s;
end;
|
Как заменить подстроку в строке?
// Способ первый
// Можно воспользоваться функцией StringReplace
// Первый параметр - строка, в которой пройзводится замена
// Второй параметр - подстрока, которую нужно заменить
// Третий параметр - строка, которой нужно заменить подстроку
// Последний параметр - флаги:
// rfReplaceAll - заменить все найденные подстроки
// rfIgnoreCase - игнорировать регистр букв
procedure TForm1.Button1Click(Sender: TObject);
begin
// Caption = 'Form1'
Caption := StringReplace(Caption, '1', '!', [rfReplaceAll, rfIgnoreCase]);
end;
// Спрсоб второй
var
Form1: TForm1;
s: string = '111 222 333 444 555';
implementation
function ReplaceStr(const S, Srch, Replace: string): string;
var
i: Integer;
Source: string;
begin
Source := S;
Result := '';
repeat
i := Pos(Srch, Source);
if i > 0 then
begin
Result := Result + Copy(Source, 1, i-1) + Replace;
Source := Copy(Source, i+Length(Srch), MaxInt);
end
else
Result := Result + Source;
until i <= 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ReplaceStr(s, ' ', '-'));
end;
// Способ третий
var
Form1: TForm1;
s: string = '111 222 333 444 555';
implementation
uses
System.RegularExpressions;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(TRegEx.Replace(s, ' ', '-'));
end;
|
|
При использовании материала - ссылка на сайт обязательна
|
|