Laden...

isLetter including Umlaute,französische Zeichen usw.

Letzter Beitrag vor 11 Jahren 4 Posts 1.994 Views
isLetter including Umlaute,französische Zeichen usw.

Hallo,
ich möchte gern prüfen, ob im row[5] Buchstaben sind, aber auch Umlaute , franz. Zeichen etc., nur keine Zahlen und andere Sonderzeichen:

  if (!row[5].All(Char.IsLetter))  

So funktioniert es nicht, das geht nur auf die Buchstaben.

Grüsse,

Hallo Ploetzi,

die Doku sagt:

Gibt an, ob das angegebene Unicode-Zeichen als Unicode-Buchstabe kategorisiert wird.

Darunter sollten eigentlich auch Umlaute und Buchstaben mit Akzentzeichen darunter fallen. Die beiden folgenden Zeilen geben jedenfalls true aus:

Console.WriteLine (Char.IsLetter ('ä'));
Console.WriteLine (Char.IsLetter ('à'));

Versucht mal herauszufinden, welches Zeichen genau das Problem macht.

herbivore

Kann man sowas nicht mit Regex lösen?

Hallo Gnozo,

klar, kann man.

Vermutlich meinst du \w.

Allerdings kommt es auch da darauf an, welche Zeichen als Wortzeichen angesehen werden. Und das hängt wiederum von den Optionen für reguläre Ausdrücke ab, insbesondere von RegexOptions.ECMAScript (siehe ECMAScript-Vergleichsverhalten) und RegexOptions.CultureInvariant (siehe Vergleiche mit der invarianten Kultur).

Es ist also bei Regex in diesem Fall nicht unbedingt einfacher oder klarer als bei Char.IsLetter.

herbivore