Wortanzahl einer Zeichenkette ermitteln in Java
-
Verwenden Sie
StringTokenizer
, um Wörter in einem String in Java zu zählen -
Verwenden von
split()
und regulären Ausdrücken zum Zählen von Wörtern in einer Zeichenkette in Java - Anzahl der Wiederholungen eines Wortes in einer Zeichenkette in Java ermitteln
In diesem Artikel werden wir etwas Licht darauf werfen, wie die Anzahl der Wörter in einer Zeichenkette in Java gezählt wird und wie dies auf verschiedene Weise erreicht werden kann.
Verwenden Sie StringTokenizer
, um Wörter in einem String in Java zu zählen
Mit der Klasse StringTokenizer
in Java können wir einen String in mehrere Token aufteilen. Die Methoden in dieser Klasse unterscheiden weder zwischen Anführungszeichen, Bezeichnern und Zahlen in Anführungszeichen noch erkennen oder überspringen sie Kommentare. Die Zeichen, die Token (Trennzeichen) trennen, können entweder zum Zeitpunkt der Erstellung oder auf Token-Basis angegeben werden.
Die Klasse StringTokenizer
zählt die Leerzeichen und Tabulatoren nicht automatisch, daher wird sie alleine behandelt.
import java.util.StringTokenizer;
public class WordCount {
public static void main(String args[]) {
String mydelim = " - ";
String myString = "The sky - - is blue!";
StringTokenizer stringTokenizer1 = new StringTokenizer(myString);
StringTokenizer stringTokenizer2 = new StringTokenizer(myString, mydelim);
int tokensCount1 = stringTokenizer1.countTokens();
int tokensCount2 = stringTokenizer2.countTokens();
System.out.println("Word count without delimiter: " + String.valueOf(tokensCount1));
System.out.println("Word count: " + String.valueOf(tokensCount2));
}
}
Ausgabe:
Word count without delimiter: 6
Word count: 4
Hier haben wir stringTokenizer1
mit der Übergabe einer Zeichenkette im Konstruktor erstellt. Es wird ein Standardtrennzeichen verwendet, während für das benutzerdefinierte Trennzeichen stringTokenizer2
separate Token übergeben werden. Der erste Ansatz zählt Bindestriche, der zweite nicht.
Verwenden von split()
und regulären Ausdrücken zum Zählen von Wörtern in einer Zeichenkette in Java
Die Methode split(String regex)
in Java verwendet einen regulären Ausdruck und unterbricht den angegebenen String, der mit dem Regex übereinstimmt, und gibt ein Array von Zeichenketten zurück.
Der reguläre Ausdruck, den wir hier verwenden, ist \\s+
, der das Leerzeichen von der Zeichenkette trennt oder mit anderen Worten die angegebene Zeichenkette um das Leerzeichen aufteilt. Die Anzahl der Wörter in der Zeichenkette entspricht der Länge des Zeichenkettenarrays words
, die wir durch Aufrufen von length
erhalten können. Die Ausgabe zeigt die Anzahl der Wörter in myStr
.
public class WordCount {
public static void main(String args[]) {
String myStr = "the butcher's wife, she was from Montreal";
String[] words = myStr.split("\\s+");
System.out.println("Word Count is: " + words.length);
}
}
Ausgabe:
Word Count is: 7
Anzahl der Wiederholungen eines Wortes in einer Zeichenkette in Java ermitteln
Wir können berechnen, wie oft ein Wort in der angegebenen Zeichenkette wiederholt wird. Hier ist randomText
eine Zeichenkette, in der wir herausfinden müssen, wie oft das Wort blue
wiederholt wird. Dazu nehmen wir eine Variable times
vom Typ int
und initialisieren sie auf 0. Führen Sie eine for
-Schleife von 0 bis zur Länge des randomText
aus.
Die Methode startsWith()
vergleicht, ob die Zeichenkette mit den Zeichen der angegebenen Zeichenkette beginnt. Für i = 0
erhält die Methode randomText.substring(0)
die TeilZeichenkette am Index 0 und prüft, ob sie startsWith("blue")
und wenn sie übereinstimmt, und erhöht dann times
um 1; Andernfalls wird es nicht erhöht.
In ähnlicher Weise prüft es den Rest der Länge und gibt aus, wie oft das Wort in der angegebenen Zeichenkette als Ausgabe wiederholt wurde.
public class WordCount {
public static void main(String args[]) {
String randomText = "The sky is blue it meets the sea which is also blue";
String text = "blue";
int times = 0;
for (int i = 0; i < randomText.length(); i++) {
if (randomText.substring(i).startsWith(text)) {
times++;
}
}
System.out.println(randomText + " contains " + text + " " + times + " times");
}
}
Ausgabe:
The sky is blue it meets the sea which is also blue contains blue 2 times
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java