删除字符串

时间:2016-03-14 09:46:51

标签: ruby string csv encoding

我正在解析CSV文件并转换为UTF-8中的每个元素:

CSV.foreach(@data_source, { :col_sep => ';' , quote_char: "\x00", :encoding => "CP850"}) do |row|
    row.map! {|x| x.force_encoding('UTF-8') unless x.nil? ; x.scrub!("") unless x.nil? ; x.delete('\u2FEC') unless x.nil? }
end

然后脚本执行一系列计算,然后使用xlsx gem以axlsx格式保存数据。

我添加了x.delete('\u2FEC') unless x.nil?,因为我发现在源文件中,这个奇怪的序列后来导致Excel中出现“不可读的内容”错误。

我发现它解决了“不可读的内容”问题它不仅删除了"\u2FEC"序列,还删除了字符"2"的每一次出现。

您是否知道我如何摆脱 "\u2FEC"而不是我行中的每个"2"

感谢。

1 个答案:

答案 0 :(得分:3)

单引号字符串不支持Unicode转义。 (事实上​​,除了\'\\之外,他们不支持任何转义。)​​

您需要使用双引号字符串或将字符直接输入单引号字符串而不是Unicode转义序列。