Ruby正则表达式查找并替换字符串中的数字

时间:2012-03-30 18:01:29

标签: ruby-on-rails ruby regex

当'49'将是一个未知的id,在轨道上使用ruby时,我如何找到并替换'49'?

str = "select * from clients where client_id = 49 order by registration_date asc"
str = str.gsub(/someRegExThatFinds49/, replacement_id) # <------ Here's the concept

寻找正确的语法和示例。感谢。

3 个答案:

答案 0 :(得分:2)

这可以使用字符串的副本:

new_str = str.gsub(/\d+/, replacement_id)

或者,如果你喜欢这样做(直接修改字符串)

str.gsub!(/\d+/, replacement_id)

伊恩。

答案 1 :(得分:1)

unknown_id = 49
puts "hello4849gone".gsub(/#{unknown_id}/, "HERE") #=> hello48HEREgone

答案 2 :(得分:-2)

str = str.gsub(/49/, replacement_id)

或使用自我更新版本:

str.gsub!(/49/, replacement_id)

另外,请查看Rubular,以便测试正则表达式。