Einzelnen Beitrag anzeigen

SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Unerlaubte Zeichen in String finden

  Alt 16. Feb 2015, 07:52
Alternativ könnte man dafür auch Regular Expressions verwenden...

Unit RegularExpressions einbinden

Delphi-Quellcode:
function HatStringKeineSonderzeichen(const aString: string): Boolean;
begin
  result := TRegex.IsMatch(aString, '^[A-Za-z0-9 _\-]*$');
end;

function HatStringSonderzeichen(const aString: string): Boolean;
begin
  result := TRegex.IsMatch(aString, '[^A-Za-z0-9 _\-]');
end;
Im XE7 sollte das auch für Leerstrings funktionieren (HatStringKeineSonderzeichen matched, HatStringSonderzeichen nicht) - das müsstest wenn nötig aber testen.

In meinem XE3 will er Leerstrings absolut nicht matchen, da müsste man also ggf. eine Sonderbehandlung ergänzen.

Umgestellt wurde das wohl mit XE6 (http://www.regexguru.com/2014/05/wha...r-expressions/)
Sebastian

Geändert von SProske (16. Feb 2015 um 08:19 Uhr) Grund: Anmerkung zu Leerstrings
  Mit Zitat antworten Zitat