当前位置: 代码迷 >> J2SE >> 提取两个字符串之间的数字,该如何处理
  详细解决方案

提取两个字符串之间的数字,该如何处理

热度:295   发布时间:2016-04-24 12:35:53.0
提取两个字符串之间的数字
正则表达式如何提取两个字符串之间的数字
例如:speed=2000MHz

如何提取2000?
谢谢。


------解决方案--------------------
"speed=2000MHz".replaceAll("\\D+","")
------解决方案--------------------
for example
Java code
String s = "speed=2000MHz";String num = s.replaceAll("\\D+", "");System.out.println(num);
------解决方案--------------------
1L好快

如果是字符串中有多个数字串,可以用正则来取
for example
Java code
String s = "speed=2000MHz, size=1024Mb";Pattern p = Pattern.compile("\\d+");Matcher m = p.matcher(s);while (m.find()) {    System.out.println(m.group());}
------解决方案--------------------
又学到了。
------解决方案--------------------
Java code
String s = "speed=2000MHz, size=1024Mb";String[] rs = s.split("\\D+"); for (String r:rs) {    if(!r.isEmpty()){    System.out.println(r);}}
------解决方案--------------------
探讨
还有没有更好的办法
speed=2000MHz

后面可能还会有数字
不知道是speed后面的

------解决方案--------------------
Java code
String s = "speed=2000MHz1024";String num = s.replaceAll("speed\\s*=\\s*(\\d+).*", "$1"); //等号后面可能有空格的话可以这样System.out.println(num);
  相关解决方案