Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Вниз

Удаление (в цикле) лишних знаков в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.042 c
2-1198159118
kyn66
2007-12-20 16:58
2008.01.20
EditRecord


2-1198055139
kyn66
2007-12-19 12:05
2008.01.20
ADSQuery1.Requery ???


15-1197971177
ArtemESC
2007-12-18 12:46
2008.01.20
А у вас такой же ребёнок?


15-1197452705
DelphiN!
2007-12-12 12:45
2008.01.20
Алгоритм вычисления, максимального колличества пересечений времен


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский