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

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

วิธีการ:

import Foundation

// ตัวอย่าง: การลบตัวเลขทั้งหมดออกจากสตริง
let originalString = "Contact me at 123-456-7890 after 09:00 PM."
let digitsPattern = "[0-9]"
let resultString = originalString.replacingOccurrences(of: digitsPattern, with: "", options: .regularExpression)

print(resultString)  // ผลลัพธ์: "Contact me at -- after : PM."
// ตัวอย่าง: การตัดอักขระที่ไม่ใช่ตัวอักษรและตัวเลข
let messyString = "H3!llo, W%@rld-"
let nonAlphanumericPattern = "[^A-Za-z0-9]"
let cleanString = messyString.replacingOccurrences(of: nonAlphanumericPattern, with: "", options: .regularExpression)

print(cleanString)  // ผลลัพธ์: "H3lloWrld"

ศึกษาเพิ่มเติม

ก่อน Swift และการโปรแกรมแบบทันสมัย, การจับคู่รูปแบบเป็นเรื่องของเครื่องมือพิเศษและภาษาเช่น sed, awk, หรือ Perl ที่รู้จักกันดีสำหรับความสามารถในการประมวลผลข้อความ Swift, ด้วยกรอบการทำงาน Foundation ที่แข็งแกร่ง, ทำให้งานเหล่านี้ง่ายขึ้นในภาษา, ทำให้มากขึ้นสำหรับนักพัฒนา

หนึ่งทางเลือกที่ไม่ใช้ regular expressions คือการทำซ้ำผ่านสตริงโดยใช้วิธี filter ของ Swift ร่วมกับเงื่อนไขที่กำหนดเองซึ่งก็อาจใช้เวลานานและมีการอ่านที่ยากขึ้น Regular expressions เสนอวิธีที่กระชับ แม้ว่าบางครั้งอาจดูซับซ้อนในการอธิบายรูปแบบที่เราต้องการลบหรือจัดการ

ในเบื้องหลัง, เมื่อคุณใช้งาน replacingOccurrences(of:with:options:) กับตัวเลือก .regularExpression, Swift ใช้เครื่องยนต์ regular expression จาก ICU (International Components for Unicode) เพื่อประมวลผลรูปแบบ ICU เป็นไลบรารีที่เข้มแข็งและใช้กันอย่างแพร่หลายสำหรับการสนับสนุน Unicode, รวมถึงการจับคู่รูปแบบ, ซึ่งถูกนำไปใช้ในภาษาการโปรแกรมระดับสูงหลายภาษา

ดูเพิ่มเติม