Java String拆分方法

时间:2013-11-28 23:46:15

标签: java string split

我正在开发一个项目,我需要拆分字符串,但是我遇到了一些麻烦: 所以,作为一个例子:

String text = "cat(12;11,42;654)"
String[] split = text.split(something here);

所以,如果我想拆分并获得数字

,我对“在这里有什么”留下了疑问
split[0] = 12;
split[1] = 11;
split[2] = 42;
split[3] = 654;

我在java文档中寻找它,并想出了类似的东西:

String[] split = text.split("cat(|;|,|)");

但我不确定我是否会得到我想要的数字......

1 个答案:

答案 0 :(得分:2)

使用String#split(),我认为你可以做的最好(不改变输入字符串)是分割非数字字符并忽略结果数组的第一个元素

String text = "cat(12;11,42;654)";
String[] split = text.split("\\D+");
for (String element : split) {
    System.out.println(element);
}

打印

<emtpy string>
12
11
42
654

否则,请使用PatternMatcher查找所有数字匹配

Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(text);
while(m.find()) {
    System.out.println(m.group());
}

打印

12
11
42
654