使用正则表达式从Java中的字符串中删除前导零

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