查找和替换

时间:2015-03-27 19:24:38

标签: ruby

我有一个包含文件路径的文本文件,如下所示:

http://www.accessdata.fda.gov/drugsatfda_docs/labe...

我想用“med”替换字符串“drug”,无论它出现在哪里。

我使用了以下内容:

gsub!(/(drug)/,'medication') if contents.include? 'drug'
(/(药物)/应该是正则表达式,但是,我可能正在写作 错了。

你知道我能做些什么来执行这样的任务吗?

3 个答案:

答案 0 :(得分:1)

我使用content.gsub /drug/, 'medication'

答案 1 :(得分:0)

假设您要将文本文件转换为字符串:

contents.gsub!(/drug/, 'medication')

会做到这一点。无需if contents.include?

答案 2 :(得分:0)

您的代码段正常工作(尽管 - 正如@Ryan Rebo所指出的那样 - if语句修饰符不是必需的。)

一个注意事项:通过包裹字符串"药物"在括号中,创建一个捕获组。替换后的字符串将放入全局变量中。

str = "drug"
str.gsub!(/(drug)/,'medication')
puts str #=> medication
puts $1  #=> drug