Best way to split String in java
I have a string of type "asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]"
and I want to split it into an array like
Array[0] = asdfsd
Array[1] = [12345]
Array[2] = skfjoib
Array[3] = [346676]
Array[4] = qwoiejflksjv
Array[5] = [12345]
What's the best approach (less code, faster speed) to do this?
+3
source to share
2 answers
Here's one way:
input.split("(?=\\[)|(?<=\\])"))
The regex says "Divide on anything before [
or after a ]
".
Demo:
String input = "asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]";
for (String s : input.split("(?<=\\])|(?=\\[)"))
System.out.println(s);
Output:
asdfsd
[12345]
skfjoib
[346676]
qwoiejflksjv
[12345]
+10
source to share