![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление (в цикле) лишних знаков в strin-говом значении [D6, IB6.x]
Konstantin © (2007-12-18 15:07:00)Есть переменная string примерно 8-ми значная. Как не перебирая по каждому знаку (в БД около 1500 записей, это будет очень долго), оставить на выходе только буквы и цыфры?
Спасибо.
Виталий Панасенко(дом) (2007-12-20 21:33:00) [1]
> Konstantin (18.12.07 15:07)
> Как не перебирая по каждому знаку
Если ты мне объяснишь, как можно узнать, какой символ следующий, "не попробовав его на вкус и цвет" я тебе... 10 у.е. вышлю.. честно
MetalFan (2007-12-20 13:18:00) [2]или с пом TRegExpr:
uses RegExpr;
...
lStr := ReplaceRegExpr('[^a-Z0-9а-Я]+', lInputStr, '' );
{RASkov} (2007-12-20 12:27:00) [3]> [7] Konstantin (20.12.07 12:18)
> А как по другому?
while Pos('_', cod) > 0 do Delete(cod, Pos('_', cod), 1);
:))
StringReplace(cod, '_', '', [rfReplaceAll]); ?
Konstantin (2007-12-20 12:18:00) [4]
LabPod:
if pos('_',cod) > 0 then
begin
s := pos('_',cod);
Delete(cod,s,1);
s := pos('_',cod);
if s > 0 then
Goto LabPod;
end;
Это ж сразу двойка! А как по другому? Не перебирая по знакам.
StriderMan (2007-12-20 12:03:00) [5]SELECT TRIM(FIELD1) FROM TABLE1
пробелы точняк отбросит, для остального придется городить че-то другое
Сергей М. (2007-12-20 10:47:00) [6]
> как этим пользоваться?
А причем здесь БД и IB6 ?
Konstantin (2007-12-20 04:34:00) [7]
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-18 15:24:00) [8]
> Palladin © (18.12.07 15:16) [2]
Смотря где и какой цикл заструячить
Сергей М. (2007-12-18 15:16:00) [9]Никак.
Palladin (2007-12-18 15:16:00) [10]очень сомневаюсь, что на 1500 записей долго, вот на 15 000 000 может быть и долго