Filtr stringa - określone znaki

0

Witam. Jak najprościej przefiltrować stringa, tak by zostały w nim znaki tylko z podanego przedziału? W moim przypadku jest to "A-Z", "a-z", "(", ")", " ". Chciałem sprawdzać każdy znak po kolei, ale może jest jakaś gotowa, optymalna funkcja?

Czyli ze stringa:

%Ala% ma kota, ale kot nie lubi Ali. ---("test").

zostanie:

Ala ma kota ale kot nie lubi Ali (test)

Z góry dzięki za pomoc.

0

Tytuł miał brzmieć "Filtr stringa". Napisałem bez logowania więc nie mogę teraz zmienić.

ok już mam

http://www.tek-tips.com/viewthread.cfm?qid=1332374

0

Ta funkcja z tek-tips.com jest strasznie przekombinowana.

Prościej:

Function StripChars(const Input: String; const Allowed: Set of Char): String;
Var Char: Char;
Begin
 Result := '';

 For Char in Input Do
  if (Char in Allowed) Then
   Result += Char;
End;

lub

Function StripChars(const Input: String; const Allowed: Set of Char): String;
Var I: Integer;
Begin
 Result := '';

 For I := 1 To Length(Input) Do
  if (Input[I] in Allowed) Then
   Result := Result+Input[I];
End;
</del> Mea culpa, rozwiązanie na `tek-tips.com` jest ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1