我有一个字符串"00000000800540"
。始终是相同长度的字符串。但是可以将零的数量更改为8.相反,8也可以是另一个数字。如何从字符串中获取数字800540?
答案 0 :(得分:1)
您可以使用:
givenNumberAsString.replaceFirst("^0+(?!$)", "")
无论你的字符串有多长,这都会有效。
答案 1 :(得分:1)
非正则表达方式:
int i = 0;
while (i < str.length() && str.charAt(i) == '0') ++i;
String withoutLeadingZeros = str.substring(i);
这将修剪所有零,即使该字符串全为零。如果要在这种情况下保留最后一个零,请将while循环保护更改为:
i + 1 < str.length() && str.charAt(i) == '0'
答案 2 :(得分:0)
根据字符串中包含的预期数字的长度,您可以使用Integer.parseInt(**string**)
或Long.parseLong(**string**)
。
String st = "00000000800540";
System.out.println(Long.parseLong(st)); // 800540
System.out.println(Integer.parseInt(st)); // 800540