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