可以将字符串中的首次出现数字提取出来进行排序
用例
字符串 | 结果值 |
---|---|
abc123 | 123 |
abc123ded | 123 |
123abc | 123 |
代码
private static final String REGEXP = "[^0-9]*";
private static final DecimalFormat FORMAT = new DecimalFormat();
static {
FORMAT.setParseBigDecimal(true);
}
public static int parseFirstNumber(String numStr,int defVal){
if (null == numStr || numStr.isEmpty()){
return defVal;
}
String numStrStartWithNum = numStr.replaceFirst(REGEXP, "");
Number number = null;
try {
number = FORMAT.parse(numStrStartWithNum);
} catch (ParseException e) {
return defVal;
}
return number.intValue();
}
public static int parseFirstNumber(String numStr){
return parseFirstNumber(numStr,0);
}