String numbers = \"5 1 5 1\";
So, is it:
String [] splitNumbers = numbers.split();
or:
String [] spli
In your above case split("\s+");
, you need to escape \ with another backslash, which is:
split("\\s+");
Or
split(" ");
also can do it
Note that split("\\s+");
split any length of whitespace including newline(\n
), tab(\t
) while split(" ");
will split only single space.
For example, when you have string separated with two spaces, say "5 1 5 1" ,
using split("\\s+");
you will get {"5","1","5","1"}
while using split(" ");
you will get {"5","","1","5","1"}
You must escape the regex with an additional \
since \
denotes the escape character:
public static void main(String[] args) {
String numbers = "5 1 5 1";
String[] tokens = numbers.split("\\s+");
for(String token:tokens){
System.out.println(token);
}
}
So the additional \
escapes the next \
which is then treated as the literal \
.
When using \\s+
the String will be split on multiple whitespace characters (space, tab, etc).