String类的replaceAll()方法接受两个表示正则表达式的字符串和一个替换String,并将匹配的值替换为给定的String。
以下是匹配字符串前导零的正则表达式-
The ^0+(?!$)";
要从字符串中删除前导零,请将其作为第一个参数,将“”作为第二个参数。
以下Java程序将用户的整数值读入String中,并使用正则表达式从中删除前导零。
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 = LeadingZeroesRE.removeLeadingZeroes(num);
System.out.println(result);
}
}输出结果
Enter an integer: 000012336000 12336000