Quiero dividir una cadena como
"first middle last"
con String.split()
. Pero cuando trato de dividirlo consigo
String[] array = {"first","","","","middle","","last"}
Intenté usar String.isEmpty()
para buscar cadenas vacías después de dividirlas, pero no funciona en Android. Aquí está mi código:
String s = "First Middle Last"; String[] array = s.split(" "); for(int i=0; i<array.length; i++) { //displays segmented strings here }
Creo que hay una manera de dividirlo así: {"first","middle","last"}
pero no puedo entender cómo.
¡Gracias por la ayuda!
Como el argumento de split()
es una expresión regular , puede buscar uno o más espacios ( " +"
) en lugar de solo un espacio ( " "
).
String[] array = s.split(" +");
intente usar esta s.split("\\s+");
si tienes una cadena como
String s = "This is a test string This is the next part This is the third part";
y quiere obtener una matriz como
String[] sArray = { "This is a test string", "This is the next part", "This is the third part" }
Deberías intentarlo
String[] sArray = s.split("\\s{2,}");
La parte {2,}
define que se necesitan al menos 2 y hasta casi infinitos espacios en blanco para que ocurra la división.
Esto funcionó para mí.
s.split(/\s+/)
var foo = "first middle last"; console.log(foo.split(/\s+/));
Dado que split()
usa expresiones regulares , puede hacer algo como s.split("\\s+")
para establecer el delimitador dividido para que sea cualquier número de caracteres de espacios en blanco.
¿Qué le parece usar algo que SDK de Android proporciona de manera predeterminada?
TextUtils.split(stringToSplit, " +");