【问题标题】:Replace " in Java String to Get Integer value from it替换 Java 字符串中的 " 以从中获取整数值
【发布时间】:2020-08-24 21:40:56
【问题描述】:

我有一个字符串/值 "2.450,00。我想从中获取 Integer 值。为此,我需要删除2 前面的"

【问题讨论】:

标签: java android string replace double-quotes


【解决方案1】:

首先您要删除逗号符号和小数,因为 int(整数)是一个整数。

str = str.split(",")[0];

这将拆分“,”上的字符串并获取包含字符串“2.450”的第一个索引。然后你想删除标点符号。这可以通过用空格“”替换所有不是数字的内容来完成。

str = str.replaceAll("[^0-9]", "");

最后,您要将字符串转换为整数。

int strAsInt = Integer.parseInt(str);

完整代码:

public static void main(String[] args) {
    // The initial value
    String str = "2.450,00";

    str = str.split(",")[0];

    str = str.replaceAll("[^0-9]", "");

    int strAsInt = Integer.parseInt(str);

    // This will print the integer value 2450
    System.out.println(strAsInt);
}

一个班轮:

int stringAsInt = Integer.parseInt(str.split(",")[0].replaceAll("[^0-9]", ""));

【讨论】:

    【解决方案2】:

    试试下面的 sn-p。使用 substring 方法删除 "

    public static void main(String[] args) {
      String str = "\"2.450,00";
    
      // prints the substring after index 1 till str length
      String substr = str.substring(1);
      System.out.println("substring = " + substr);
    
    }
    

    【讨论】:

    • 您也可以省略第二个参数,因为它将默认为字符串的末尾。
    • 是的,我们也可以这样做。
    【解决方案3】:

    首先,您需要从输入字符串中删除任何非数字字符(不包括'.'',' 字符),正则表达式"[^\\d\\,\\.]" 可以帮助您:

    final String inputString = "Total: 100.000,05$";
    final String numberString = inputString.replaceAll("[^\\d\\,\\.]", "");
    

    下一步是将数字字符串格式化为有效的double 形式。在这一步,您需要将'.' 替换为空字符串,将',' 替换为点'.'

    final String formattedNumberString = numberString
                                          .replace(".","")
                                          .replace(',', '.');
    

    最后,你终于可以解析一个有效的数字了:

    double inputNumber = Double.parseDouble(formattedNumberString);
    

    【讨论】:

      【解决方案4】:

      (1) 去掉字符串中的双引号

      String str = "\"2.450,00";
      
      str = str.replace("\"", "")
      

      (2) 那么你也应该替换逗号

      str = str.replace(",", "")
      

      (3) 最后你应该使用 Integer.parseInt() 方法将 String 转换为 Integer

      int i = Integer.parseInt(str);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-06
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多