![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа со строками (как удалить из строки рус.буквы) [D7, 2000]
Officeman © (2007-04-08 00:12:00)как удалить из строки рус.буквы
дана строка:
Телевизор Onida 21 Black DLX (+наушники) (54 см)
надо программа обработать что бы осталось:
Onida 21 Black DLX (+) (54)
Officeman (2007-04-08 18:31:00) [1]ааа) это забыл убрать
Loginov Dmitry (2007-04-08 18:05:00) [2]Зачем Length(str) - 1? Почему не Length(str) - 5 (к примеру)?
Officeman (2007-04-08 17:38:00) [3]//ps. я понимаю что это курс начинающего бойца. но всёже пусть будет. //может комунить пригодится:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
function strdelimeters(str:string):string;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;
implementation
{$R *.dfm}
function TForm1.strdelimeters(str:string):string;
begin
for i := 1 to Length(str) - 1 do
begin
if (str[i] in [' ','a'..'z','A'..'Z','0'..'9']) then begin
Result := Result + str[i];
end;
end;
Result:=Trim(Result);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:= strdelimeters(Edit1.Text);
end;
end.
<//code>
Officeman (2007-04-08 17:32:00) [4]ужо сделал.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
str,str2:string;
begin
str:=Edit1.Text; // начальная строка
for i := 1 to Length(str) - 1 do
begin
if (str[i] in [' ','a'..'z','A'..'Z','0'..'9']) then begin
str2 := str2 + str[i];
end;
end;
edit2.Text:=str2; // результат
end;
Officeman (2007-04-08 17:27:00) [5]нужно чтобы пробелы тоже сохранились
Officeman (2007-04-08 17:26:00) [6]а ну да.
- 'на друга надейся а сам не плошай'
if (str[i] in ['а..'а','А'..'Я']) then begin
тока у мня и пробелы тоже удаляются.
поправьте если что не так
Anatoly Podgoretsky (2007-04-08 12:44:00) [7]> {RASkov} (08.04.2007 06:20:03) [3]
Но откуда вывод, что они русские?
{RASkov} (2007-04-08 07:25:00) [8]Вообще-то ОРД :) D, почему-то, вперед R нажалось.... :)
{RASkov} (2007-04-08 06:21:00) [9]>=
{RASkov} (2007-04-08 06:20:00) [10]> [2] Officeman © (08.04.07 05:01)
Все что ODR(Ch)>127 все не англ.
Officeman (2007-04-08 05:01:00) [11]не могу определить русские буковки. подскажите.
Johnmen (2007-04-08 00:37:00) [12]Пробел тоже русская буква? :)
И что не можешь - удалить или определить?