Kotlin:
การใช้เรกุลาร์เอ็กเพรสชัน
วิธีการ:
การจับคู่พื้นฐาน
เพื่อตรวจสอบว่าสตริงตรงกับรูปแบบใดรูปแบบหนึ่งใน Kotlin, คุณสามารถใช้เมธอด matches
ของคลาส Regex
ได้
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // ผลลัพธ์: true
การค้นหาและแยกส่วนของสตริง
หากคุณต้องการค้นหาส่วนของสตริงที่ตรงกับรูปแบบใดรูปแบบหนึ่ง, Kotlin ช่วยให้คุณสามารถทำการวนซ้ำผ่านการจับคู่ทั้งหมดได้:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "วันนี้คือวันที่ 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// ผลลัพธ์: 07/09/2023
การแทนที่ข้อความ
การแทนที่ส่วนของสตริงที่ตรงกับรูปแบบหนึ่งเป็นเรื่องง่ายด้วยฟังก์ชั่น replace
:
val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // ผลลัพธ์: Username: userXXX
การแบ่งสตริง
แบ่งสตริงออกเป็นรายการ, โดยใช้รูปแบบ regex ในฐานะตัวแบ่ง:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // ผลลัพธ์: [1, 2, 3, 4, 5]
ไลบรารีอื่น ๆ: Kotest
Kotest เป็นไลบรารีทดสอบในภาษา Kotlin ที่ได้รับความนิยมซึ่งขยายการสนับสนุน regex ที่มีอยู่เดิมของ Kotlin, มีประโยชน์โดยเฉพาะสำหรับการตรวจสอบความถูกต้องในกรณีทดสอบ
// สมมติว่า Kotest ถูกเพิ่มเข้าในโปรเจ็กต์ของคุณ
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// การทดสอบนี้จะผ่านหากข้อมูลนำเข้าตรงกับรูปแบบอีเมล
ด้วยการรวมการใช้งาน regular expressions เข้ากับแอปพลิเคชัน Kotlin ของคุณ, คุณสามารถประมวลผลข้อความได้อย่างมีประสิทธิภาพ ไม่ว่าคุณจะต้องการตรวจสอบข้อมูลนำเข้าจากผู้ใช้, แยกข้อมูลออกมา, หรือแปลงสตริง, รูปแบบ regex มอบโซลูชันที่แข็งแกร่ง