首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2011-12-31 
提取两个字符串之间的数字正则表达式如何提取两个字符串之间的数字例如:speed2000MHz如何提取2000?谢谢。[

提取两个字符串之间的数字
正则表达式如何提取两个字符串之间的数字
例如: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); 

热点排行