【问题标题】:Retrieving integers from a string从字符串中检索整数
【发布时间】:2013-07-17 22:23:43
【问题描述】:

假设你有一个字符串:

    String numbers = "123 11 4392034 2";

并且您想要检索字符串中的每个整数(以空格分隔)。这样做的最佳方法是什么?

【问题讨论】:

标签: java string parsing integer


【解决方案1】:

split() 按空格和Integer.parseInt() 在每个数组元素上

【讨论】:

    【解决方案2】:
    String numbers = "123 11 4392034 2";
    String [] num = numbers.split(" ");
    

    然后使用此方法检索整数数组:

    public int[] getIntegerArray(String[] numbers) throws NumberFormatException {
        if (numbers!= null) {
            int intarray[] = new int[numbers.length];
            for (int i = 0; i < numbers.length; i++) {
                intarray[i] = Integer.parseInt(numbers[i]);
            }
            return intarray;
        }
        return null;
    }
    

    【讨论】:

      【解决方案3】:
      String[] tokens = "123 234".split("\\s")
      
      for(String token : tokens){
        println Integer.parseInt(token)
      }
      

      链接:

      1. 运行 groovy 脚本:http://groovyconsole.appspot.com/script/1031001
      2. http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html 的 Java 模式类
      3. Java 正则表达式教程http://docs.oracle.com/javase/tutorial/essential/regex

      备注

      1. \s 表示空白字符类,[\t\n\x0B\f\r]。额外的 '\' 转义第一个,因为 '\' 本身就是一个转义字符。见http://docs.oracle.com/javase/tutorial/java/data/characters.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-13
        • 1970-01-01
        • 2021-11-05
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多