在字符串中替换€符号的问题



我想将字符串中的每个"€"替换为"[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的可移植名称)。

相关内容

  • 没有找到相关文章

最新更新