我有一个类似"asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]"
的字符串
我想将它拆分为像
Array[0] = asdfsd
Array[1] = [12345]
Array[2] = skfjoib
Array[3] = [346676]
Array[4] = qwoiejflksjv
Array[5] = [12345]
这样做的最佳方法是什么(代码更少,速度更快)?
答案 0 :(得分:10)
以这种方式:
input.split("(?=\\[)|(?<=\\])"))
正则表达式&#34;拆分[
之前或]
&#34; 之后的任何内容。
演示:
String input = "asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]";
for (String s : input.split("(?<=\\])|(?=\\[)"))
System.out.println(s);
输出:
asdfsd
[12345]
skfjoib
[346676]
qwoiejflksjv
[12345]
答案 1 :(得分:6)
很快&#39; n脏:
String[] ss = s.replaceAll("[", ";[").replaceAll("]", "];").split(";");