据说我有一个字符串,其中包含:hello 14:12
。
现在我想只提取数字并在两个变量中有两个单独的值,如下所示:first_num value应该是int,即first_num = 14,第二个变量应该存储冒号后的数字(:
),即second_num = 12。
答案 0 :(得分:2)
您可以使用Regex解决问题
public static List<Integer> extractNumbers(String s){
List<Integer> numbers = new ArrayList<Integer>();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(s);
while(m.find()){
numbers.add(Integer.parseInt(m.group()));
}
return numbers;
}
答案 1 :(得分:1)
ReplaceAll是最佳解决方案
String str = "hello 14:12";
str = str.replaceAll("[^0-9]+", " ");
System.out.println(Arrays.asList(str.trim().split(" ")));
通过这种方式,您只能获得数组中的数字。