解释如何在 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("输入一个整数: ");
String num = sc.next();
String result = LeadingZeroes.removeLeadingZeroes(num);
System.out.println(result);
}
}输出结果Enter an integer value as a String 00126718 126718
使用StringBuffer类
以下Java程序将用户的整数值读入String并使用StringBuffer类从中删除前导零。
示例
import java.util.Scanner;
public class LeadingZeroesSB {
public static String removeLeadingZeroes(String num){
int i=0;
StringBuffer buffer = new StringBuffer(num);
while(i输出结果输入一个整数:
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("输入一个整数: ");
String num = sc.next();
String result = TailingZeroesRE.removeLeadingZeroes(num);
System.out.println(result);
}
}输出结果输入一个整数:
000012336000
12336000
使用apache公共库
将以下依赖项添加到您的pom.xml文件中
org.apache.commons
commons-lang3
3.9
下面的Java程序从用户那里读取一个整数值到一个字符串中,并使用stripStart()StringUtils类的方法从中删除前导零。
示例
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("输入一个整数: ");
String num = sc.next();
String result = LeadingZeroesCommons.removeLeadingZeroes(num);
System.out.println(result);
}
}输出结果输入一个整数:
000125004587
125004587