我必须处理以前从excel文档复制/粘贴到.txt文件中的文本。我认为有一些字符意味着要表现出色但却表现为无法识别的字符(即gedit中的'?'符号,或其他一些文本编辑器中的矩形之一)。我想以某种方式解析那些,但我不确定如何这样做。我知道正则表达式可能会有所帮助,但实际上没有一种模式可以匹配无法识别的字符。我该怎么做呢?
答案 0 :(得分:3)
您可以使用http://spreadsheet.rubyforge.org/来阅读/解析数据
答案 1 :(得分:2)
我想你得到这些字符是因为文本文件包含无效的Unicode字符,这意味着你的'?'和三角形实际上可能是无法识别的多字节序列。
如果您想正确处理电子表格内容,我建议您先使用(Open | Libre)Office将数据导出为CSV,然后选择UTF-8作为文件编码。
答案 2 :(得分:1)
如果你不担心多字节序列,我觉得这个正则表达式很方便:
line.gsub( /[^0-9a-zA-Z\-_]/, '*' )