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.