Ruby:
Tìm kiếm và thay thế văn bản
Cách thực hiện:
Ruby làm cho điều này trở nên dễ dàng. Sử dụng gsub
để thay thế toàn cầu, hoặc sub
cho một trường hợp duy nhất. Dưới đây là một cái nhìn nhanh:
# Chuỗi gốc
phrase = "Hello, world!"
# Thay thế 'world' bằng 'Ruby'
puts phrase.gsub('world', 'Ruby')
# => Hello, Ruby!
# Chỉ thay thế sự xuất hiện đầu tiên của 'l'
puts phrase.sub('l', '7')
# => He7lo, world!
Kết quả? Lần in thứ nhất hiển thị "Hello, Ruby!"
, lần thứ hai hiển thị "He7lo, world!"
.
Sâu hơn
Các phương thức gsub
và sub
đã đi cùng Ruby từ những ngày đầu, phản ánh khái niệm thay thế từ các ngôn ngữ lâu đời như Perl. Có sự thay thế? Chắc chắn, bạn có thể sử dụng regex cho các mẫu phức tạp hơn, hoặc thậm chí ghép lại split
và join
nếu bạn cảm thấy khéo léo.
Điều gì làm cho điều này thú vị là khả năng sử dụng block của Ruby với gsub
. Thay vì thay thế đơn giản, bạn có thể làm một số công việc nặng nhọc bên trong block đó:
# Viết hoa từng từ
puts "make me pretty".gsub(/\b\w/) { |match| match.upcase }
# => Make Me Pretty
Tại sao phải bận tâm? Đầu tiên, sử dụng regex với gsub
cho phép bạn giải quyết những trường hợp tinh tế mà bạn cần nhiều sự tinh tế hơn là chỉ ’tìm cái này, thay thế bằng cái kia'.
Xem thêm
Mài giũa kỹ năng của bạn - đắm mình vào tài liệu hoặc xem những tài nguyên sau:
Hiểu rồi đúng không? Tốt. Giờ thì đi chơi với một số chuỗi nào.