Главная страница
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.021 c
15-1197555361
Dennis I. Komarov
2007-12-13 17:16
2008.01.20
MUI


6-1179133249
Санек2007
2007-05-14 13:00
2008.01.20
Загрузка изображения с сайта


15-1197341960
Превед
2007-12-11 05:59
2008.01.20
А вернёт ли Медвед Путину власть?


2-1198135098
LexXL
2007-12-20 10:18
2008.01.20
независимое окно


2-1198127548
DimonS
2007-12-20 08:12
2008.01.20
Рисование, TImage