我以前曾使用gsub进行正则表达式匹配,但是字符串字面量应该怎么称呼呢?
我想,以取代pair[0]
与pair[1]
任何地方pair[0]
的文件中找到。
text = File.read( fname )
@hash_old_to_new.each do
|pair|
puts "\tReplacing " + pair[0] + " with " + pair[1]
# result = text.gsub( /pair[0]/, pair[1] ) <--- this is no good
end
File.open( fname, "w" ) { |file| file << result }
Run Code Online (Sandbox Code Playgroud)
gsub
也适用于字符串文字。
text.gsub!(pair[0], pair[1])
Run Code Online (Sandbox Code Playgroud)
请注意,它gsub
返回一个新的String,而不是“就地”修改现有的String。由于您的代码编写方式,这将导致您丢失更新。您可以使用gsub!
,否则可以像这样链接呼叫:
text = text.gsub(pair[0], pair[1])
Run Code Online (Sandbox Code Playgroud)