我有以下内容:
test = "abcd abed abef"
test[/ab.d/] = 'Toast'
# => "Toast abed abef"
是否有一个修饰符或者我可以使用这种语法来使替换全局化,结果是:
"Toast Toast abef"
更新
只是为了澄清,这只是为了学习而进行的智力练习。我认识到还有其他(更有效的)做事方式。我大多只是好奇。 :)
答案 0 :(得分:3)
你可以试试这个:
test.gsub(/ab.d/, 'Toast')
这将匹配正则表达式的单词g(global)
sub(substitution)
答案 1 :(得分:1)
我没有看到为此目的使用String#[]
的任何意义;我只能想到一种效率低于使用String#gsub
的方法。但鉴于替换不会创建新的匹配位置,这是一种方法:
test = "abcd abed abef"
test[/ab.d/] = 'Toast' while test[/ab.d/]
test # => "Toast Toast abef"