Lin*_*nus 2 ruby ruby-on-rails-3
我需要从Ruby中的字符串中删除一些短语.短语在数组中定义.它可能看起来像这样:
remove = ["Test", "Another One", "Something Else"]
Run Code Online (Sandbox Code Playgroud)
然后我想检查并从给定的字符串中删除它们.
"这是一个测试"=>"这是一个""这是另一个"=>"这是""这是另外两个"=>"这是另外两个"
使用Ruby 1.9.3和Rail 3.2.6.
ary = ["Test", "Another One", "Something Else", "(RegExp i\s escaped)"]
string.gsub(Regexp.union(ary), '')
Run Code Online (Sandbox Code Playgroud)
Regexp.union 可用于将字符串数组(或正则表达式)编译为单个正则表达式,因此只需要单个搜索和替换.
Regexp.union ['string', /regexp?/i] #=> /string|(?i-mx:regexp?)/
Run Code Online (Sandbox Code Playgroud)