我有一个包含许多字符串的表,这些字符串包含一些奇怪的字符,我想用“原始”字符替换。 Ä变成Ã,ö变成ö,因此我在文本中将每个Ã替换为ö。它可以工作,但是ß变成,我无法替换它...
# 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用我要插入的字母替换这些部分?
答案 0 :(得分:1)
由于存在元字符(+
-表示一个或多个),为了从字面上对其进行评估,请转义(如解决方案中的@boski所述)或使用fixed = TRUE
sub("Ã<U+009F>", "REPLACED", "Testing string Ã<U+009F> ", fixed = TRUE)
#[1] "Testing string REPLACED "
答案 1 :(得分:0)
您必须转义+
符号,因为它是regex
命令。
> gsub("Ã<U\\+009F>", "REPLACED", "Testing string Ã<U+009F> ")
[1] "Testing string REPLACED "
> gsub("â<U\\+0080><U\\+0093>", "REPLACED", "Testing string â<U+0080><U+0093> ")
[1] "Testing string REPLACED "