Bra*_*ein 10 java string integer type-conversion
我有一个字符串,说"600sp",我希望从中得到整数部分(600).
如果我这样做,Integer.valueOf("600sp")由于字符串中遇到的非数字值"s",我得到一个例外.
获取整数部分的最快最干净的方法是什么?
谢谢!
Chu*_*Lee 17
如果您的字符串格式始终是数字后跟一些字符,那么试试这个
mystr.split("[a-z]")[0]
Run Code Online (Sandbox Code Playgroud)
根据您输入的限制,您最好使用正则表达式.
Pattern p = Pattern.compile("(\\d+)");
Matcher m = p.matcher("600sp");
Integer j = null;
if (m.find()) {
j = Integer.valueOf(m.group(1));
}
Run Code Online (Sandbox Code Playgroud)
这个正则表达式翻译为'给我一串连续数字,在字符串的开头有至少1位'.如果你有其他约束,比如解析实数而不是整数,那么你需要修改代码.