การค้นหาและแทนที่ข้อความ

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 ช่วยให้คุณจัดการกับกรณีที่มีความละเอียดอ่อนที่คุณต้องการความปราณีตมากกว่าแค่ ‘หาสิ่งนี้, แทนที่ด้วยสิ่งนั้น’

ดูเพิ่มเติม

เพิ่มทักษะของคุณ - ดำดิ่งลงไปในเอกสารหรือตรวจสอบทรัพยากรเหล่านี้:

ได้รับหรือยัง? ดี. ตอนนี้ไปเล่นกับสตริงบ้าง.