Splitting a string with multiple spaces
I want to split a string like
"first middle last"
with String.split()
. But when i try to split it I get
String[] array = {"first","","","","middle","","last"}
I tried using String.isEmpty()
to check for empty strings after I split them but I it doesn't work in android. Here is my code:
String s = "First Middle Last";
String[] array = s.split(" ");
for(int i=0; i<array.length; i++) {
//displays segmented strings here
}
I think there is a way to split it like this: {"first","middle","last"}
but can't figure out how.
Thanks for the help!
Since the argument to split()
is a regular expression, you can look for one or more spaces (" +"
) instead of just one space (" "
).
String[] array = s.split(" +");
try using this s.split("\\s+");
if you have a string like
String s = "This is a test string This is the next part This is the third part";
and want to get an array like
String[] sArray = { "This is a test string", "This is the next part", "This is the third part" }
you should try
String[] sArray = s.split("\\s{2,}");
The {2,}
part defines that at least 2 and up to almost infinity whitespace characters are needed for the split to occur.
This worked for me.
s.split(/\s+/)
var foo = "first middle last";
console.log(foo.split(/\s+/));
Since split()
uses regular expressions, you can do something like s.split("\\s+")
to set the split delimiter to be any number of whitespace characters.