Ruby:
การค้นหาและแทนที่ข้อความ
วิธีการ:
Ruby ทำให้มันง่าย ใช้ gsub
เพื่อทดแทนข้อความทั่วโลก, หรือ sub
สำหรับกรณีเดียว นี่คือการดูอย่างรวดเร็ว:
# สตริงเดิม
phrase = "Hello, world!"
# แทนที่ 'world' ด้วย 'Ruby'
puts phrase.gsub('world', 'Ruby')
# => Hello, Ruby!
# แทนที่เฉพาะครั้งแรกของ 'l'
puts phrase.sub('l', '7')
# => He7lo, world!
ผลที่ออกมา? การพิมพ์ครั้งแรกแสดง "Hello, Ruby!"
, ครั้งที่สองให้ "He7lo, world!"
.
การดำดิ่งลึก
เมธอด gsub
และ sub
ได้รับการใช้งานใน Ruby ตั้งแต่วันแรกๆ, เลียนแบบแนวคิดการทดแทนจากภาษาโบราณอย่าง Perl มีทางเลือกอื่นหรือไม่? แน่นอน, คุณสามารถใช้ regex สำหรับรูปแบบที่ซับซ้อนมากขึ้น, หรือแม้แต่ต่อเนื่องกัน split
และ join
ถ้าคุณรู้สึกครีเอทีฟ
สิ่งที่เจ๋งคือความสามารถของบล็อก Ruby กับ gsub
แทนที่จะเป็นการค้นหาและแทนที่อย่างง่ายๆ, คุณสามารถทำงานหนักภายในบล็อกนั้นได้:
# ทำให้ตัวอักษรแต่ละคำเป็นตัวพิมพ์ใหญ่
puts "make me pretty".gsub(/\b\w/) { |match| match.upcase }
# => Make Me Pretty
ทำไมต้องยุ่งยาก? เพื่อเริ่มต้น, การใช้ regex กับ gsub
ช่วยให้คุณจัดการกับกรณีที่มีความละเอียดอ่อนที่คุณต้องการความปราณีตมากกว่าแค่ ‘หาสิ่งนี้, แทนที่ด้วยสิ่งนั้น’
ดูเพิ่มเติม
เพิ่มทักษะของคุณ - ดำดิ่งลงไปในเอกสารหรือตรวจสอบทรัพยากรเหล่านี้:
ได้รับหรือยัง? ดี. ตอนนี้ไปเล่นกับสตริงบ้าง.