Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用`string#[]`和正则表达式对字符串进行全局替换_Ruby_Regex_Replace - Fatal编程技术网

Ruby 使用`string#[]`和正则表达式对字符串进行全局替换

Ruby 使用`string#[]`和正则表达式对字符串进行全局替换,ruby,regex,replace,Ruby,Regex,Replace,我有以下资料: test = "abcd abed abef" test[/ab.d/] = 'Toast' # => "Toast abed abef" 是否有一个修饰符或其他东西可以用于此语法以使替换全局化,从而使结果为: "Toast Toast abef" 更新: 为了澄清,这仅仅是为了学习而进行的智力练习。我认识到还有其他(更有效的)做事方式。我主要是好奇。:) 您可以尝试以下方法: test.gsub(/ab.d/, 'Toast') 这将对与正则表达式匹配的单词执行g(

我有以下资料:

test = "abcd abed abef"
test[/ab.d/] = 'Toast'
# => "Toast abed abef"
是否有一个修饰符或其他东西可以用于此语法以使替换全局化,从而使结果为:

"Toast Toast abef"
更新:

为了澄清,这仅仅是为了学习而进行的智力练习。我认识到还有其他(更有效的)做事方式。我主要是好奇。:)

您可以尝试以下方法:

test.gsub(/ab.d/, 'Toast')
这将对与正则表达式匹配的单词执行
g(全局)
sub(替换)
,您可以尝试以下操作:

test.gsub(/ab.d/, 'Toast')

这将对匹配正则表达式的单词进行
g(全局)
sub(替换)
,我认为使用
String#[]
没有任何意义;我只能想出一种比使用
String#gsub
效率更低的方法。但考虑到替换不会产生新的比赛位置,以下是一种方法:

test = "abcd abed abef"
test[/ab.d/] = 'Toast' while test[/ab.d/]
test # => "Toast Toast abef"

我认为使用
String#[]
来实现这一目的没有任何意义;我只能想出一种比使用
String#gsub
效率更低的方法。但考虑到替换不会产生新的比赛位置,以下是一种方法:

test = "abcd abed abef"
test[/ab.d/] = 'Toast' while test[/ab.d/]
test # => "Toast Toast abef"

我不知道你在那里写了什么,你能从你的irb控制台粘贴代码吗,那是什么?我不知道你在那里写了什么,你能从你的irb控制台粘贴代码吗,那是什么?是的,我知道那一个。。。我最好奇的是,是否有一个修饰符或其他可以与其他语法一起使用的东西。类似于/pattern/gYeah的东西,我知道那个。。。我最好奇的是,是否有一个修饰符或其他可以与其他语法一起使用的东西。类似于/pattern/g的东西