我有一个类似的字符串"asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]"
,我想将它拆分为类似的数组
Array[0] = asdfsd
Array[1] = [12345]
Array[2] = skfjoib
Array[3] = [346676]
Array[4] = qwoiejflksjv
Array[5] = [12345]
Run Code Online (Sandbox Code Playgroud)
这样做的最佳方法是什么(代码更少,速度更快)?
aio*_*obe 10
这是一种方式:
input.split("(?=\\[)|(?<=\\])"))
Run Code Online (Sandbox Code Playgroud)
正则表达式是"在一个[或之后的任何事物上分裂]".
演示:
String input = "asdfsd[12345]skfjoib[346676]qwoiejflksjv[12345]";
for (String s : input.split("(?<=\\])|(?=\\[)"))
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
输出:
asdfsd
[12345]
skfjoib
[346676]
qwoiejflksjv
[12345]
Run Code Online (Sandbox Code Playgroud)
很快'很脏:
String[] ss = s.replaceAll("[", ";[").replaceAll("]", "];").split(";");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2368 次 |
| 最近记录: |