Zählen von Umlauten in einem String

  • Themenstarter Themenstarter DennisNeu
  • Beginndatum Beginndatum
D

DennisNeu

Gast
Hallo alle zusammen,
ich habe da mal eine dumme Frage.
Ich möchte gerne in einem String die umlaute Zählen.
Mein Ansatz:
Java:
public int countLetter(char c, String text){
	int counter = 0;
	for (int i = 0; i < text.length(); i++){
		if(text.charAt(i) == c){
			counter++;
		}
		
	}
	return counter;
}
Das funktioniert Gut für alle "normalen" Zeichen.
Übergebe ich aber ein Ä zum Beispiel kommt immer 0 raus auch wenn Äs enthalten sind.
Ich muss sicherlich etwas mit Unicode machen aber weiß leider nicht wie.

Jemand eine idee?
 
Also wenn du Ä übergibst funktioniert das doch wenn Äs vorhanden sind.

meinst du vllt, dass es nicht funktioniert, wenn äs (lowercase) enthalten sind und es das aber soll??
 
wenn die Methode nicht wie vermutet funktioniert, dann ist testen, loggen, debuggen angesagt,

was liefert
countLetter('Ä', "Ä")
?

bei mir 1,
liest du vielleicht Text aus einer Datenquelle? dann wär das ne andere Stelle wo das Problem sein könnte,
gib jedes Zeichen als char und auf int gecastet aus, vergleiche das (mit Augen + Kopf) mit dem int-Wert von Ä und ziehe Schlüsse
 
Hmm, bei mir wird bei
'Ä' und "Ä"
0 ausgegeben
bei
'E' und "E"
1

Das Groß und Kleinschreibung nicht erkannt werden ist mir bewusst und das soll auch so sein.^^

Ich such mal nochmal nach den Unicode Werten und probier mal aus wie ich die übergeben kann.
 
Okay ic habe jetzt einfach mal nach den Unicode Werten gesucht und diese übergeben an die Funktion als Char.
Und siehe da das Ä wird gezählt.

Java:
countLetter('\u00C4', "ÄÄÄ")

Ergebnis ist 3.

Danke auf jedenfall.
 

Neue Themen


Zurück
Oben