在java中拆分String的最佳方法

时间:2015-01-09 10:18:32

标签: java string split

我有一个类似"asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]"的字符串 我想将它拆分为像

这样的数组
Array[0] = asdfsd
Array[1] = [12345]
Array[2] = skfjoib
Array[3] = [346676]
Array[4] = qwoiejflksjv
Array[5] = [12345]

这样做的最佳方法是什么(代码更少,速度更快)?

2 个答案:

答案 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(";");