java正则表达式用于在某些符号后读取数字

时间:2015-03-09 08:50:30

标签: java regex

我有以下字符串

String names= D:45454546544654 A:45454545454 C:454545474

我需要输出

String data[]=[45454546544654,45454545454,454545474]

2 个答案:

答案 0 :(得分:2)

首先用空字符串替换所有大写字母和后面的冒号:,然后根据空格拆分结果字符串。

String names = "D:45454546544654 A:45454545454 C:454545474";
String parts[] = names.replaceAll("[A-Z]:", "").split("\\s+");
System.out.println(Arrays.toString(parts));

输出:

[45454546544654, 45454545454, 454545474]

答案 1 :(得分:1)

而不是拆分你可以匹配:

(?<=:)\d+(?!\d)

使用此Pattern

Pattern p = Pattern.compile("(?<=:)\\d+(?!\\d)");

然后,您可以使用Matcher.find API来获取所有匹配项。

RegEx Demo