[英]Remove X Character occurence from Starting of string until Different Character Not found in Java
我陷入了問題,找不到解決方案,請幫我解決它。 下面是代碼
String number = "000097127073653";
Boolean isOtherDigitFound = false;
int i=0;
for(int x=0 ; x<nunber.toCharArray() ; x++){
if(number.toChatArray()[x] != 0 && !isOtherDigitFound ){
isOtherDigitFound=true;
i=x;
}
}
number = number.subStr(x,number.length);
System.out.print(number);
我得到了我想要的 output,它是 97127073653 但是有一些簡單的方法可以做到這一點。
我想從字符串的開頭刪除所有出現的 0。但不是從中間或其他地方。
示例:- 我有像 0000123400022 這樣的數字,然后 output 應該像 123400022
請幫我
提前致謝
例如,上面的代碼可能看起來像這樣
String number = "0000123400022";
Boolean isOtherDigitFound = false;
int i = 0;
for (int x = 0; x < number.length(); x++) {
if (number.charAt(x) != '0' && !isOtherDigitFound) {
isOtherDigitFound = true;
i = x;
break;
}
}
number = number.substring(i, number.length());
System.out.print(number);
您可以在 Java 的String
class 中使用replaceAll
方法。
number = number.replaceAll("^0+", ""));
通過在replaceAll
方法中添加^
替換前導字符,並通過添加$
替換尾隨字符。 因此,如果要替換字符串的尾隨 0 值,可以執行number.replaceAll("0+$", "");
現在您可以將代碼重寫為簡單的三行
String number = "000097127073653";
number = number.replaceAll("^0+", ""));
System.out.print(number);
我會做這樣的事情。 希望它很容易理解。
public String removingLeadingZero(final String number) {
if (StringUtils.isEmpty(number)) {
return number;
}
int i = 0;
while (number.charAt(i) == '0') { // Here'0' can be replaced with any charater you want
i++;
}
return number.substring(i);
}
如果您的字符串是常規數字(不包含任何字符或非數字值),您可以將字符串轉換為 long 並返回。 這將自動刪除所有起始零。
String frontTrimmed = Long.parseLong(stringValue, 10) + "";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.