我想将字符串中的每个"€"替换为"[euro]"。对于
,这很好地工作了 file.col.name <- gsub("€","[euro]", file.col.name, fixed = TRUE)
现在我正在从csv文件中循环列名,突然我遇到了字符串"total€"的麻烦。它适用于其他特殊字符(#,?),但不能识别€符号。
grep("€",file.column.name)
也返回0,如果我提取最后一个字母,它打印" - "但是
print(lastletter(file.column.name) == "€")
返回FALSE。(lastletter只是一个提取字符串最后一个字母的函数)
有没有人知道为什么会发生这种情况,也许有一个解决它的想法?我检查了"file.column.name"类,它返回"字符",也试图将其转换为字符和类似的东西,但没有帮助。
谢谢!
您的编码可能是混合的。检查文件的编码,然后添加适当的编码,例如,使用fileEncoding="…"
作为参数的read.csv
。
如果您在Unix/Linux下工作,file
实用程序将告诉您文本文件的编码。否则,任何编辑器都应该显示文件的编码。
常用编码有UTF-8、ISO-8859-15和windows-1252。尝试"UTF-8"
, "windows-1252"
和"latin-9"
作为fileEncoding
的值(根据R的文档,后者是ISO-8859-15的可移植名称)。