Iterieren über Zeichen von String in Java
-
Verwenden Sie
String.chars()
in Java 8, um über alle Zeichen in einer Zeichenkette zu iterieren -
Verwenden Sie
String.codePoints()
in Java 8, um eine Schleife über alle Zeichen in einer Zeichenkette zu ziehen -
Mit
String.toCharArray()
in Java über alle Zeichen in einer Zeichenkette schleifen -
Verwenden Sie
StringCharacterIterator
, um über alle Zeichen in einer Zeichenkette in Java zu iterieren -
Mit
String.split()
in Java über alle Zeichen in einer Zeichenkette schleifen
In diesem Artikel werden verschiedene Methoden vorgestellt, um in Java über jedes Zeichen in einer Zeichenkette zu iterieren.
Verwenden Sie String.chars()
in Java 8, um über alle Zeichen in einer Zeichenkette zu iterieren
Java 8 stellt uns eine neue Methode String.chars()
zur Verfügung, die einen IntStream
zurückgibt. Der zurückgegebene IntStream
enthält eine Integer-Darstellung der Zeichen in der Zeichenkette. Hier erhalten wir stream1
von myString.chars()
.
Wir mappen den zurückgegebenen IntStream
in ein Objekt. Mit stream1.mapToObj()
werden die Integer-Werte in ihre jeweilige Zeichenentsprechung umgewandelt. Um die Zeichen jedoch anzeigen und lesen zu können, müssen wir sie in eine benutzerfreundliche Zeichenform konvertieren.
import java.util.stream.IntStream;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello There!";
String myString2 = "My Friends";
String myString3 = "Happy Coding";
IntStream stream1 = myString.chars();
IntStream stream2 = myString2.chars();
IntStream stream3 = myString3.chars();
stream1.mapToObj(Character::toChars).forEach(System.out::print);
System.out.println("");
stream2.mapToObj(i -> new Character((char) i)).forEach(System.out::print);
System.out.println("");
stream3.forEach(i -> System.out.print(Character.toChars(i)));
}
}
Ausgabe:
Hello There!
My Friends
Happy Coding
Verwenden Sie String.codePoints()
in Java 8, um eine Schleife über alle Zeichen in einer Zeichenkette zu ziehen
Java 8 String.codePoints()
gibt einen IntStream
von Unicode-Codepunkten aus dieser Sequenz zurück. Sie gibt die ASCII
-Werte des übergebenen Zeichens zurück.
Wir können den zurückgegebenen IntStream
mit stream.mapToObj
auf ein Objekt mappen, so dass er automatisch in einen Stream<Character>
konvertiert wird. Wir verwenden die Methodenreferenz und geben jedes Zeichen in der angegebenen Zeichenkette aus.
import java.util.stream.IntStream;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Happy Coding";
IntStream stream = myString.codePoints();
stream.mapToObj(Character::toChars).forEach(System.out::print);
}
}
Ausgabe:
Happy Coding
Mit String.toCharArray()
in Java über alle Zeichen in einer Zeichenkette schleifen
Die Methode String.toCharArray()
wandelt die angegebene Zeichenkette in eine Folge von Zeichen um. Sie gibt ein Character
-Array zurück, dessen Länge der Länge der Zeichenkette entspricht.
Um über jedes Zeichen in einer Zeichenkette zu iterieren, können wir toCharArray()
verwenden und jedes Zeichen ausgeben.
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
char[] chars = myString.toCharArray();
int len = chars.length;
System.out.println("length of the char array: " + len);
for (char ch : chars) {
System.out.println(ch);
}
}
}
Ausgabe:
length of the char array: 13
H
e
l
l
o
F
r
i
e
n
d
s
Verwenden Sie StringCharacterIterator
, um über alle Zeichen in einer Zeichenkette in Java zu iterieren
Die Klasse StringCharacterIterator
implementiert eine bidirektionale Iteration der Zeichenkette. Sie nimmt eine Zeichenkette als Parameter, die einen Iterator mit einem Anfangsindex von 0 konstruiert.
In der while
-Schleife rufen wir current()
auf dem Iterator it
auf, der das Zeichen an der aktuellen Position zurückgibt oder DONE
zurückgibt, wenn die aktuelle Position das Ende des Textes ist.
Die Methode next()
auf it
gibt das Zeichen an der neuen Position zurück oder DONE
, wenn die neue Position das Ende ist.
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
CharacterIterator it = new StringCharacterIterator(myString);
while (it.current() != CharacterIterator.DONE) {
System.out.print(it.current());
it.next();
}
}
}
Ausgabe:
Hello Friends
Mit String.split()
in Java über alle Zeichen in einer Zeichenkette schleifen
Die Methode String.split()
zerlegt die Zeichenkette anhand des angegebenen regulären Ausdrucks und gibt ein neues Array zurück.
Im folgenden Code verwenden wir myString.split("")
, um die Zeichenkette zwischen den einzelnen Zeichen aufzuteilen. Wir können jedes Zeichen im str_arr
iterieren und es ausgeben.
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
String[] str_arr = myString.split("");
for (String ch : str_arr) {
System.out.print(ch);
}
}
}
Ausgabe:
Hello Friends
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