String str = "上海南京路356号401室";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(0));
break;
}
int number = Integer.parseInt(m.group(0));
这是个提取一个字符串中第一个连续数字的正则,比如这个会得到356
但是有时这个数据不规范不包含有数字,这时 int number=Integer.parseInt(m.group(0))这个会报错会报not match的错误我想遇到没有数字的时候跳出,这个该如何写?
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(0));
break;
}
int number = Integer.parseInt(m.group(0));
这是个提取一个字符串中第一个连续数字的正则,比如这个会得到356
但是有时这个数据不规范不包含有数字,这时 int number=Integer.parseInt(m.group(0))这个会报错会报not match的错误我想遇到没有数字的时候跳出,这个该如何写?
String str = "上海南京路356号401室";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str); while(m.find()){
number=Integer.parseInt(m.group(0))
break;
}
System.out.println(number);
if(m.find()){
...
}
import java.util.regex.Matcher;public class Demo004 {
public static void main(String[] args) {
String str = "上海南京路号室";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str);
int number = 0;
while (m.find()) {//如果有匹配,开始循环
number = Integer.parseInt(m.group());
break;//循环能开始的话,break之后,number值就是第一次匹配值
}
System.out.println(number);
}
}