读书人

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

发布时间: 2011-12-31 23:50:30 作者: rapoo

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

读书人网 >J2SE开发

热点推荐