我有一个字符串,例如"ksl13<br>m4n"
,我想删除所有非数字字符以获取int 134。
Integer.parseInt(s)
显然不起作用,但不确定如何解决它。
答案 0 :(得分:5)
您可以先使用正则表达式:
String s = "ksl13 m4n";
String clean = s.replaceAll("\\D+",""); //remove non-digits
然后您可以使用Integer.parseInt
:
int i = Integer.parseInt(clean);
和i
将是134
。
答案 1 :(得分:3)
如果您不想使用正则表达式,可以执行以下操作:
private String buildNumber(String str) {
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if(Character.isDigit(ch))
strBuilder.append(ch);
}
return strBuilder.toString();
}
然后,您可以使用Integer#parseInt将其转为int
。
有关其他信息,请参阅StringBuilder和Character。
答案 2 :(得分:1)
String str =“ksl13 m4n”;
String strArray [] = str.split(“\ D +”);将为您提供整数值数组