我需要在字符串中获得前导零 例子
1)s="0001254200"
result=3
1)s="1254200"
result=0
有没有办法在java中实现这一点。我知道我们可以改变字符串到字符数组并检查每一个。我正在寻找替代approch
答案 0 :(得分:2)
您可以使用解析并将字符串转发为数字,例如 Integer.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);
答案 1 :(得分:-1)
如果你真的想要一些花哨的替代品,你可以试试这个(你至少需要Java 9):
String s = "00012345";
long count = s.chars().takeWhile(c -> c == '0').count();
答案 2 :(得分:-1)
function