卢比 Unicode 替换在 R 中不起作用

问题描述 投票:0回答:1

我正在尝试将语料库中的货币符号替换为文本,例如将 $ 替换为美元。例如:

x <- "i have \u20AC and \u0024 and \u00A3 and \u00A5 and \u20B9"
"i have € and $ and £ and ¥ and \u20b9"

Unicode 适用于除卢比之外的所有货币。那么会出现什么问题呢?

我的第二个问题是在做 gsub 时,Unicode 替换适用于除美元之外的每个符号。

sub('\u0024'dollar', x) ## which gives me
"i have € and $ and £ and ¥ and \u20b9dollar"

可以用这个来代替美元:

gsub([$], dollar, x)
r string unicode
1个回答
1
投票

要查看包含卢比的

x
,请使用
cat
:

> cat(x, sep="\n")
i have € and $ and £ and ¥ and ₹
> 

要替换美元,请通过添加

fixed=TRUE
来使用文字字符串替换(以免转义正则表达式中表示字符串结尾的
$
符号):

> x <- gsub("$", "dollar", x, fixed=TRUE)
> cat(x, sep="\n")
i have € and dollar and £ and ¥ and ₹
> 

当您不传递

fixed=TRUE
时,
sub
gsub
会将
"$"
解析为正则表达式模式,在正则表达式中,
$
表示字符串结尾。这就是为什么在您的结果中,
dollar
添加在卢比后面。

© www.soinside.com 2019 - 2024. All rights reserved.