【发布时间】:2019-05-09 16:18:24
【问题描述】:
我有一个包含许多字符串的表,其中包含一些我想用“原始”字符替换的奇怪字符。 Ä 变成了 ä,ö 变成了 ö,所以我将文本中的每个 ö 替换为 ö。它可以工作,但是,ß 变成了 à ,我无法替换它...
# Works just fine:
gsub('ö', 'REPLACED', "Testing string ö")
# this does not work
gsub("Ã<U+009F>", "REPLACED", "Testing string Ã<U+009F> ")
# this does not work as well...
gsub("â<U+0080><U+0093>", "REPLACED", "Testing string â<U+0080><U+0093> ")
如何告诉 R 用我想插入的字母替换这些部分?
【问题讨论】:
-
一些建议:奇怪的字符显然是由于一些编码问题。在读取文件时处理这个问题可能是值得的,而不是稍后使用正则表达式。您可以为此使用
readr的软件包。使用guess_encoding("file.txt")查找编码,然后使用read_csv("file.txt", locale = locale(encoding = "ISO-8859-1"))导入,其中“ISO-8859-1”可以换成guess_encoding建议的任何编码(“ISO-8859-1”只是一个建议,因为变音)。