การลบตัวอักษรที่ตรงกับรูปแบบ

Java:
การลบตัวอักษรที่ตรงกับรูปแบบ

วิธีการ:

ใน Java, เรามักใช้เมธอด String.replaceAll() ร่วมกับ regex pattern เพื่อลบอักขระ นี่คือตัวอย่างอย่างรวดเร็ว:

public class PatternDeletionExample {
    public static void main(String[] args) {
        String originalString = "Hello, 123 World! This-is a test-string.";
        String pattern = "\\d|-"; // \d คือตัวเลข, - คือเครื่องหมายขีด

        String cleanedString = originalString.replaceAll(pattern, "");
        System.out.println(cleanedString); // แสดงผล: Hello,  World! This is a teststring.
    }
}

โค้ดนี้จะตัดตัวเลขและเครื่องหมายขีดออกเพื่อทำความสะอาดสตริงของเรา

ค้นลึก

ในอดีต, คนๆหนึ่งได้จัดการกับสตริงโดยไม่มีเมธอดที่สะดวกและ regex พวกเขาทำมันด้วยวิธีที่ยากลำบาก, อักขระต่ออักขระ, ซึ่งเป็นเรื่องที่เจ็บปวด แล้ว regular expressions (regex) ก็ปรากฏขึ้น, และทุกอย่างก็ง่ายขึ้นมาก regex เป็นมาตรฐานการจับคู่แพทเทิร์นที่มีพลังในการประมวลผลข้อความ

แล้วทำไมต้องใช้ replaceAll()? มันเป็นส่วนหนึ่งของคลาส String ใน Java, และเนื่องจากสตริงมีอยู่ทุกที่, มันจึงกลายเป็นตัวเลือกแรกสำหรับการแก้ไขข้อความตามแพทเทิร์น มันรับพารามิเตอร์สองตัว: regex สำหรับแพทเทิร์นที่ต้องการกำจัดและสิ่งที่จะใส่แทน — ในกรณีของเรา, สตริงว่างเพื่อลบมัน

มีทางเลือกอื่นเช่นคลาส Pattern และ Matcher สำหรับงานที่ซับซ้อนมากกว่า ทั้งสองมีประโยชน์สำหรับงานที่ละเอียดอ่อนขึ้น เช่น การหาแพทเทิร์นโดยไม่ลบออก, หรือการแทนที่ในวิธีที่ซับซ้อนขึ้น

การทำงานขึ้นอยู่กับเอ็นจิน regex ของ Java, ซึ่งวิเคราะห์แพทเทิร์นและนำมาใช้กับสตริงเป้าหมาย เป็นภารกิจค้นหาและทำลายอักขระเล็กๆ—ค้นหาแพทเทิร์น, แล้วกำจัดมัน

ดูเพิ่มเติม