用其表示替换unicode转义字符串

时间:2012-11-17 00:20:10

标签: regex

例如,我有一个像这样的文本字符串:\u041c\u0430\u0440\u0442\u0438\(字面意思是这样)我想用正则表达式替换那些带有文本表示的转义符,我不会知道它是否可能。

我试过了:

匹配:\\u(....)
替换:\x\1

我确实得到了这个结果:_0@B8_实际上是空格,但它会在降价时消失)

令我高兴的是,我甚至从中得到了一些转换结果,因为老实说,我认为没有可能做到这一点。

这是我使用的工具内置的perl兼容引擎。

1 个答案:

答案 0 :(得分:0)

Perl:

use Encode qw(encode);

$_ = '\u041c\u0430\u0440\u0442\u0438';
s/\\u([0-9a-f]{4})/{ encode('utf8', chr($1)) }/ige;