解析异常字符

时间:2011-05-15 18:36:28

标签: ruby regex

我必须处理以前从excel文档复制/粘贴到.txt文件中的文本。我认为有一些字符意味着要表现出色但却表现为无法识别的字符(即gedit中的'?'符号,或其他一些文本编辑器中的矩形之一)。我想以某种方式解析那些,但我不确定如何这样做。我知道正则表达式可能会有所帮助,但实际上没有一种模式可以匹配无法识别的字符。我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

您可以使用http://spreadsheet.rubyforge.org/来阅读/解析数据

答案 1 :(得分:2)

我想你得到这些字符是因为文本文件包含无效的Unicode字符,这意味着你的'?'和三角形实际上可能是无法识别的多字节序列。

如果您想正确处理电子表格内容,我建议您先使用(Open | Libre)Office将数据导出为CSV,然后选择UTF-8作为文件编码。

https://en.wikipedia.org/wiki/Comma-separated_values

答案 2 :(得分:1)

如果你不担心多字节序列,我觉得这个正则表达式很方便:

line.gsub( /[^0-9a-zA-Z\-_]/, '*' )