我有字符串:
string <- "{'text': u'Kandydaci PSL do Parlamentu Europejskiego \\u2013 OKR\\u0118G nr 1: Obejmuje obszar wojew\\xf3dztwa pomorskiego z siedzib\\u0105 ok... http://t.co/aZbjK7ME1O', 'created_at': u'Mon May 19 11:30:07 +0000 2014'}"
如你所见,我有一些代码而不是字母。据我所知,UTH-8代码用于抛光字符,如ą,ć,ź,ó等。如何转换此字符串以获取输出
"{'text': u'Kandydaci PSL do Parlamentu Europejskiego \\u2013 OKRĄG nr 1: Obejmuje obszar województwa pomorskiego z siedzibą ok... http://t.co/aZbjK7ME1O', 'created_at': u'Mon May 19 11:30:07 +0000 2014'}"
答案 0 :(得分:1)
这是一个正则表达式,用于查找\udddd
和\xdd
形式的所有转义字符。然后我们获取这些值,并重新解析它们以将它们变成字符。最后,我们将原始匹配值替换为真实字符
m <- gregexpr("\\\\u\\d{4}|\\\\x[0-9A_Fa-f]{2}", string)
a <- enc2utf8(sapply(parse(text=paste0('"', regmatches(string,m)[[1]], '"')), eval))
regmatches(string,m)[[1]] <- a
这将全部完成。如果您只想做一个子集,可以过滤可能替换的向量。