Delphi - strip special chars

Programovacie jazyky, rady, poradňa...
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Delphi - strip special chars

Príspevok od používateľa Nadeo »

Existuje nejaka fcia na vymazanie vsetkych specialnych znakov(@-?,!.- a pod) zo stringu? Alebo si to musim napisat sam? Dik.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

musíš si napísať sám
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

Kód: Vybrať všetko

function stripspecchars(word: ansistring):ansistring;
var
  rslt : ansistring;
begin
  rslt := AnsiReplaceStr(rslt, '@', 'a');
  rslt := AnsiReplaceStr(rslt, '?', '');
  rslt := AnsiReplaceStr(rslt, '!', '');
  rslt := AnsiReplaceStr(rslt, '-', '');
  rslt := AnsiReplaceStr(rslt, '_', '');
  rslt := AnsiReplaceStr(rslt, '/', '');
  rslt := AnsiReplaceStr(rslt, '(', '');
  rslt := AnsiReplaceStr(rslt, ')', '');
  Result := rslt;
end;
Toto mi nejako nefacha :/ Konkretne mi to cely string zmaze. Mozno tam mam nejaku amatersku chybu...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nezmaže ti ho, iba ho nikde nepoužiješ a ani nepredáš vo výstupe funkcie. Prvý riadok bude takto:

Kód: Vybrať všetko

rslt := AnsiReplaceStr(word, '@', 'a');
alebo ešte pred ním dáš ten word do rslt-u, takže

Kód: Vybrať všetko

rslt:=word;
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

Omg, to je stale tou mojou nepozornostou... Diky :)
//edit: Ale nefacha to teraz vobec, ako keby som stym nerobil nic. Vrati povodny string
//Edit2:done, nevermind
Napísať odpoveď