เมธอด replaceAll() ของคลาส String รับสตริงสองตัว แทน regular expression และ replacement String และแทนที่ค่าที่ตรงกับรูปแบบด้วยสตริงที่ให้มา
Regular expression สำหรับจับคู่ศูนย์นำหน้าของสตริง −
"^0+(?!$)"
เพื่อลบศูนย์นำหน้าจากสตริง ส่งรูปแบบนี้เป็นพารามิเตอร์แรก และ "" เป็นพารามิเตอร์ที่สอง
ตัวอย่าง
โปรแกรม Java ต่อไปนี้อ่านค่า integer จากผู้ใช้เก็บใน String และลบศูนย์นำหน้าออกโดยใช้ Regular expressions
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