我刚刚注意到 gsub 方法的行为非常奇怪,也许有人可以向我解释一下。我有我用标准打开的文件
f=File.read(filename)
puts f.gsub('xxxxx','a')
这工作正常,所有 xxxxxx 字符串都替换为
如果我打开最初以 iso-8859-1 编码的相同文件
f=File.read(filename,:encoding => 'iso-8859-1')
puts f.gsub('xxxxx','a')
这不起作用...没有错误,只是忽略并且 xxxxx 没有被替换,但只有 1 个字符它工作得很好
f=File.read(filename,:encoding => 'iso-8859-1')
puts f.gsub('x','a')
有什么原因吗?
编辑:我正在添加示例文件作为 gdrive 的链接...它是从 sql server file_in_zip的默认导出