我有一个文本字段,有人可以输入字符串。
但是我需要使用该字符串返回一个整数。
我知道如何将字符串转换为整数,但我如何分隔任何字母&字符串中的标点符号,只留下数字?
答案 0 :(得分:2)
试试这段代码:
String str = "a1?2.33/4tyz.7!8x";
str = str.replaceAll("\\D", "");
现在str
将包含"1233478"
答案 1 :(得分:0)
与正则表达式匹配。 0-9
之前已经给出了示例。 How to extract numbers from a string and get an array of ints?
答案 2 :(得分:0)
您可以使用正则表达式ant替换所有额外符号,然后调用Integer.valueOf()
。
例如:
Integer.valueOf(src.replaceAll("[!0-9]",""));
答案 3 :(得分:0)
您需要替换字符串中不需要的所有值,然后将其余值解析为整数:
String userInput = "Number 42 is the best";
userInput = userInput.replaceAll("[^\\d]", '');
return Integer.parseInt(test); //returns '42'
现有的帖子类似于如何执行此操作here