我正在开发一个项目,我需要拆分字符串,但是我遇到了一些麻烦: 所以,作为一个例子:
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(|;|,|)");
但我不确定我是否会得到我想要的数字......
答案 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
否则,请使用Pattern
和Matcher
查找所有数字匹配
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(text);
while(m.find()) {
System.out.println(m.group());
}
打印
12
11
42
654