在 Java 中从字符串(也包含字母)获取 int
我如何从字符串中获取int值,例如 - 即包含数字但也可能包含字母的字符串?423e
Integer.parseInt()
失败,因为字符串必须完全是一个数字。
我如何从字符串中获取int值,例如 - 即包含数字但也可能包含字母的字符串?423e
Integer.parseInt()
失败,因为字符串必须完全是一个数字。
将所有非数字替换为空白:其余字符串仅包含数字。
Integer.parseInt(s.replaceAll("[\\D]", ""))
这也将删除数字之间的非数字,因此成为."x1x1x"
11
如果您需要确认字符串由可能跟在字母后面的数字序列(至少一个)组成,请使用以下命令:
s.matches("[\\d]+[A-Za-z]?")
类将仅解析字符串,直到它达到不可解析的字符:
((Number)NumberFormat.getInstance().parse("123e")).intValue()
因此将返回 123。