【问题标题】:How do I get only integers from a string? [duplicate]如何从字符串中只获取整数? [复制]
【发布时间】:2015-07-07 23:23:26
【问题描述】:

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

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

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

【问题讨论】:

标签: java


【解决方案1】:

匹配正则表达式。 0-9

之前已经给出了示例。 How to extract numbers from a string and get an array of ints?

【讨论】:

    【解决方案2】:

    您可以用正则表达式 ant 替换所有额外的符号,然后调用 Integer.valueOf()。 例如:

    Integer.valueOf(src.replaceAll("[!0-9]",""));
    

    【讨论】:

    • 应该是 [^0-9] 吗?
    【解决方案3】:

    试试这个代码:

    String str = "a1?2.33/4tyz.7!8x";
    str = str.replaceAll("\\D", "");
    

    现在str 将包含"1233478"

    【讨论】:

      【解决方案4】:

      您需要替换字符串中不需要的所有值,然后将其余的值解析为整数:

          String userInput = "Number 42 is the best";
          userInput = userInput.replaceAll("[^\\d]", '');
          return Integer.parseInt(test); //returns '42'
      

      有一篇类似的帖子告诉你如何做到这一点here

      【讨论】:

        猜你喜欢
        • 2015-06-13
        • 2016-06-09
        • 2020-02-26
        • 1970-01-01
        • 2015-01-26
        • 2017-04-02
        • 2014-06-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多