Iterar sobre los caracteres de la cadena en Java
-
Usa
String.chars()
en Java 8 para iterar sobre todos los caracteres de una cadena -
Use
String.codePoints()
Java 8 para hacer un bucle sobre todos los caracteres de una cadena en Java -
Usa
String.toCharArray()
para hacer un bucle sobre todos los caracteres de una cadena en Java -
Usa
StringCharacterIterator
para iterar sobre todos los caracteres de una cadena en Java -
Use
String.split()
para hacer un bucle sobre todos los caracteres de una cadena en Java
Este artículo presentará varios métodos para iterar sobre cada carácter de una cadena en Java.
Usa String.chars()
en Java 8 para iterar sobre todos los caracteres de una cadena
Java 8 nos proporciona un nuevo método String.chars()
que devuelve un IntStream
. El IntStream
devuelto contiene una representación entera de los caracteres de la cadena. Aquí obtenemos stream1
de myString.chars()
.
Mapeamos el IntStream
devuelto en un objeto. El stream1.mapToObj()
convierte los valores enteros en su respectivo equivalente en caracteres. Sin embargo, para mostrar y leer los caracteres, necesitamos convertirlos en una forma de caracteres fácil de usar.
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)));
}
}
Producción :
Hello There!
My Friends
Happy Coding
Use String.codePoints()
Java 8 para hacer un bucle sobre todos los caracteres de una cadena en Java
Java 8 String.codePoints()
devuelve un IntStream
de puntos de código Unicode de esta secuencia. Devuelve los valores ASCII
del caractere pasado.
Podemos mapear el IntStream
devuelto a un objeto usando stream.mapToObj
para que se convierta automáticamente en un Stream<Character>
. Usamos la referencia del método e imprimimos cada carácter en la cadena especificada.
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);
}
}
Producción :
Happy Coding
Usa String.toCharArray()
para hacer un bucle sobre todos los caracteres de una cadena en Java
El método String.toCharArray()
convierte la cadena dada en una secuencia de caracteres. Devuelve un array de carácter cuya longitud es similar a la de la cadena.
Para iterar sobre cada carácter de una cadena, podemos usar toCharArray()
y mostrar cada carácter.
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);
}
}
}
Producción :
length of the char array: 13
H
e
l
l
o
F
r
i
e
n
d
s
Usa StringCharacterIterator
para iterar sobre todos los caracteres de una cadena en Java
La clase StringCharacterIterator
implementa una iteración bidireccional de la cadena. Toma una cadena como parámetro, que construye un iterador con un índice inicial de 0.
En el bucle while
, llamamos current()
al iterador it
, que devuelve el carácter en la posición actual o devuelve DONE
si la posición actual es el final del texto.
El método next()
en it
devuelve el carácter en la nueva posición o DONE
si la nueva posición es el final.
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();
}
}
}
Producción :
Hello Friends
Use String.split()
para hacer un bucle sobre todos los caracteres de una cadena en Java
El método String.split()
divide la cadena contra la expresión regular dada y devuelve un nuevo array.
En el siguiente código, usamos myString.split("")
para dividir la cadena entre cada carácter. Podemos iterar cada carácter en el str_arr
y mostrarlo.
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);
}
}
}
Producción :
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.
LinkedInArtículo relacionado - Java String
- Cómo eliminar la subcadena de la cadena en Java
- Cómo realizar una conversión de cadena a cadena en Java
- Cómo convertir un array de bytes en una cadena hexadecimal en Java
- Cómo convertir una cadena de Java en un byte
- Generar cadena aleatoria en Java
- El método Swap en Java