replaceAll() เมธอดของคลาส String ยอมรับสองสตริงที่แสดงนิพจน์ทั่วไปและสตริงแทนที่ และแทนที่ค่าที่ตรงกันด้วยสตริงที่กำหนด
ต่อไปนี้เป็นนิพจน์ทั่วไปที่จะจับคู่เลขศูนย์นำหน้าของสตริง -
The ^0+(?!$)";
หากต้องการลบเลขศูนย์นำหน้าออกจากสตริง ให้ส่งค่านี้เป็นพารามิเตอร์แรกและ "" เป็นพารามิเตอร์ที่สอง
ตัวอย่าง
โปรแกรม 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 = LeadingZeroesRE.removeLeadingZeroes(num);
System.out.println(result);
}
} ผลลัพธ์
Enter an integer: 000012336000 12336000