有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取字符串中前导零的计数

我需要得到字符串中的前导零 范例

1)s="0001254200"
  result=3
1)s="1254200"
  result=0

有没有办法在java中实现这一点。我知道我们可以把字符串改成字符数组,然后检查每一个。我正在寻找替代方法


共 (2) 个答案

  1. # 1 楼答案

    你可以反复解析字符串并将其转发成一个数字,例如整数。parseInt()将忽略前导零

        final String xs = "0001254200";
        int i = xs.length() - String.valueOf(Integer.parseInt(xs)).length();
        System.out.println(i);
    
        //Another option based on Titus comment
    
        i = xs.length() - xs.replaceAll("^0+", "").length();
        System.out.println(i);
    
  2. # 2 楼答案

    如果你真的想要一些新奇的替代品,你可以试试这个(你至少需要Java 9):

    String s = "00012345";
    long count = s.chars().takeWhile(c -> c == '0').count();