如何从字符串中仅获取整数?

时间:2015-04-28 22:04:01

标签: java

我有一个文本字段,有人可以输入字符串。

但是我需要使用该字符串返回一个整数。

我知道如何将字符串转换为整数,但我如何分隔任何字母&字符串中的标点符号,只留下数字?

4 个答案:

答案 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