1.正则表达式
String str = "love234csdn3423java";
String regEx = "[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
String result = m.replaceAll("").trim();
这里正则表达式表示匹配除数字以外的字符,然后replaceAll方法使用空字符代替匹配的字符,这样剩下的字符串就只包括数字。最后只需要将result转换为int类型就结束了
2.用字符串方法处理
String str = "love234csdn3423java";
str = str.trim();
String str2 = "";
if(str != null && !"".equals(str)){
for(int i = 0; i < str.length(); i++){
if(str.charAt(i) >= 48 && str.charAt(i) <= 57){
str2 += str.charAt(i);
}
}
}
这里通过一个for循环,对字符串的每个字符进行处理,如果在0-9之间就追加到str2上,最后返回的str2只包含数字
3.字符串中去除特殊字符
//去除特殊符号 chinese =djkak.~`dsha; String regExp="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]"; String replace = ""; chinese = chinese.replaceAll(regExp, replace);结果:djkakdsha