使用此代码示例
#!/usr/bin/ruby
paragraph = "champion xylophone excellent"
paragraph = paragraph.gsub("ch","tj")
words = paragraph.split(/ /)
words.each do |word|
if word[0,1] == "x"
word[0.1] = "z"
end
end
paragraph = words.join(" ")
paragraph.gsub("x","ks")
print paragraph
Run Code Online (Sandbox Code Playgroud)
输出将是'tjampion zylophone excellent'而不是'tjampion zylophone ekscellent'
如果将gsub应用于各个单词中,则同样适用.我不明白为什么它在开始时起作用而不是在最后起作用.
编辑
第二种情况与第一种情况截然不同:
#!/usr/bin/ruby
paragraph = "champion xylophone excellent"
paragraph = paragraph.gsub("ch","tj")
words = paragraph.split(/ /)
words.each do |word|
if word[0,1] == "x"
word[0.1] = "z"
end
word = word.gsub("x","ks")
end
paragraph = words.join(" ")
print paragraph
Run Code Online (Sandbox Code Playgroud)
当你第一次使用gsub时,你将它分配给paragrah
paragraph = paragraph.gsub("ch","tj")
Run Code Online (Sandbox Code Playgroud)
第二次你错过了作业
改变paragraph.gsub("x","ks")以
paragraph = paragraph.gsub("x","ks")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2461 次 |
| 最近记录: |