Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.20;
Скачать: CL | DM;

Вниз

Удаление (в цикле) лишних знаков в strin-говом значении   Найти похожие ветки 

 
Konstantin   (2007-12-18 15:07) [0]

Есть переменная string примерно 8-ми значная. Как не перебирая по каждому знаку (в БД около 1500 записей, это будет очень долго), оставить на выходе только буквы и цыфры?

Спасибо.


 
Сергей М. ©   (2007-12-18 15:16) [1]

Никак.


 
Palladin ©   (2007-12-18 15:16) [2]

очень сомневаюсь, что на 1500 записей долго, вот на 15 000 000 может быть и долго


 
Сергей М. ©   (2007-12-18 15:24) [3]


> Palladin ©   (18.12.07 15:16) [2]


Смотря где и какой цикл заструячить


 
Konstantin   (2007-12-20 04:34) [4]

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);

var
 SelPos: Integer;
begin
 with TReplaceDialog(Sender) do
 begin
 { Perform a global case-sensitive search for FindText in Memo1 }
   SelPos := Pos(FindText, Memo1.Lines.Text);
   if SelPos > 0 then
   begin
     Memo1.SelStart := SelPos - 1;
     Memo1.SelLength := Length(FindText);
     { Replace selected text with ReplaceText }
     Memo1.SelText := ReplaceText;
   end
   else MessageDlg(Concat("Could not find "", FindText, "" in Memo1."), mtError, [mbOk], 0);

 end;

end;


Тогда как этим пользоваться?


 
Сергей М. ©   (2007-12-20 10:47) [5]


> как этим пользоваться?


А причем здесь БД и IB6 ?


 
StriderMan   (2007-12-20 12:03) [6]

SELECT TRIM(FIELD1) FROM TABLE1

пробелы точняк отбросит, для остального придется городить че-то другое


 
Konstantin   (2007-12-20 12:18) [7]

LabPod:
      if pos("_",cod) > 0 then
       begin
        s := pos("_",cod);
        Delete(cod,s,1);
        s := pos("_",cod);
        if s > 0 then
        Goto LabPod;
       end;


Это ж сразу двойка! А как по другому? Не перебирая по знакам.


 
{RASkov} ©   (2007-12-20 12:27) [8]

> [7] Konstantin   (20.12.07 12:18)
> А как по другому?

while Pos("_", cod) > 0 do Delete(cod, Pos("_", cod), 1);
:))
StringReplace(cod, "_", "", [rfReplaceAll]); ?


 
MetalFan ©   (2007-12-20 13:18) [9]

или с пом TRegExpr:
uses RegExpr;
...
 lStr := ReplaceRegExpr("[^a-Z0-9а-Я]+", lInputStr, "" );


 
Виталий Панасенко(дом)   (2007-12-20 21:33) [10]


> Konstantin   (18.12.07 15:07)


> Как не перебирая по каждому знаку

Если ты мне объяснишь, как можно узнать, какой символ следующий, "не попробовав его на вкус и цвет" я тебе... 10 у.е. вышлю.. честно



Страницы: 1 вся ветка

Текущий архив: 2008.01.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1198084368
Stepper
2007-12-19 20:12
2008.01.20
Почему не грузится проект? Апосля такой вот компиляции!


15-1197727186
turbouser
2007-12-15 16:59
2008.01.20
Хоккей


2-1197854221
Bpeguk
2007-12-17 04:17
2008.01.20
Конвертер систем


15-1196834343
vajo
2007-12-05 08:59
2008.01.20
Можно как-то вычислить, кто в сети сообщения аськи прослушивает?


3-1189651379
Девушка
2007-09-13 06:42
2008.01.20
PostgreSQL наследование и fk