Ruby 搜索和替换
sub和gsub使用正则表达式的字符串方法,它们的就地变体是sub!
和gsub!
.子和子!替换第一次出现的模式和 gsub & gsub!替换所有出现。所有这些方法都使用正则表达式模式执行搜索和替换操作。子!和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!。这里分!替换第一次出现的模式和 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!方法也可以与正则表达式一起使用。