Ruby 搜索和替换
使用正则表达式的 sub 和 gsub 字符串方法,它们的就地变体是sub!和gsub!。.sub & sub! 替换模式的第一次出现,gsub & gsub! 替换所有的出现。所有这些方法都使用Regexp模式进行搜索和替换操作。sub! 和 gsub! 修改了它们被调用的字符串,而sub和gsub则返回一个新的字符串,不修改原来的字符串。
下面是一个例子,以便更好地理解它。
例子:
# Ruby program of sub and gsub method in a string
roll = "2004-959-559 # This is Roll Number"
# Delete Ruby-style comments
roll = roll.sub!(/#.*$/, "")
puts "Roll Num : #{roll}"
# Remove anything other than digits
roll = roll.gsub!(/\D/, "")
puts "Roll Num : #{roll}"
输出:
Roll Num : 2004-959-559
Roll Num : 2004959559
在上面的例子中,我们使用了sub!和gsub!。这里sub!替换了模式的第一次出现,gsub!替换了所有的出现。
例子:
# Ruby program of sub and gsub method
text = "geeks for geeks, is a computer science portal"
# Change "rails" to "Rails" throughout
text.gsub!("geeks", "Geeks")
# Capitalize the word "Rails" throughout
text.gsub!(/\bgeeks\b/, "Geeks")
puts "#{text}"
输出:
Geeks for Geeks, is a computer science portal
gsub!方法也可以与正则表达式一起使用。