解釋如何在 Java 中去除字串開頭的零
無論何時將整數值讀入字串,都可以使用**StringBuffer**類、正則表示式或將給定字串轉換為字元陣列來去除其開頭的零。
轉換為字元陣列
以下 Java 程式從使用者那裡讀取一個整數值到一個字串中,並透過將給定的字串轉換為字元陣列來去除其開頭的零。
示例
import java.util.Scanner;
public class LeadingZeroes {
public static String removeLeadingZeroes(String num){
int i=0;
char charArray[] = num.toCharArray();
for( ; i<= charArray.length; i++){
if(charArray[i] != '0'){
break;
}
}
return (i == 0) ? num :num.substring(i);
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter an integer: ");
String num = sc.next();
String result = LeadingZeroes.removeLeadingZeroes(num);
System.out.println(result);
}
}輸出
Enter an integer value as a String 00126718 126718
使用 StringBuffer 類
以下 Java 程式從使用者那裡讀取一個整數值到一個字串中,並使用 StringBuffer 類去除其開頭的零。
示例
import java.util.Scanner;
public class LeadingZeroesSB {
public static String removeLeadingZeroes(String num){
int i=0;
StringBuffer buffer = new StringBuffer(num);
while(i<num.length() && num.charAt(i)=='0')
i++;
buffer.replace(0, i, "");
return buffer.toString();
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter an integer: ");
String num = sc.next();
String result = LeadingZeroesSB.removeLeadingZeroes(num);
System.out.println(result);
}
}輸出
Enter an integer: 00012320002 12320002
使用正則表示式
以下 Java 程式從使用者那裡讀取一個整數值到一個字串中,並使用正則表示式去除其開頭的零。
示例
import java.util.Scanner;
public class LeadingZeroesRE {
public static String removeLeadingZeroes(String str){
String strPattern = "^0+(?!$)";
str = str.replaceAll(strPattern, "");
return str;
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter an integer: ");
String num = sc.next();
String result = TailingZeroesRE.removeLeadingZeroes(num);
System.out.println(result);
}
}輸出
Enter an integer: 000012336000 12336000
使用 apache commons 庫
將以下依賴項新增到你的 pom.xml 檔案中
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>
以下 Java 程式從使用者那裡讀取一個整數值到一個字串中,並使用 StringUtils 類的**stripStart()**方法去除其開頭的零。
示例
import java.util.Scanner;
import org.apache.commons.lang3.StringUtils;
public class LeadingZeroesCommons {
public static String removeLeadingZeroes(String str){
str = StringUtils.stripStart(str, "0");
return str;
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter an integer: ");
String num = sc.next();
String result = LeadingZeroesCommons.removeLeadingZeroes(num);
System.out.println(result);
}
}輸出
Enter an integer: 000125004587 125004587
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP