我正在尝试将语料库中的货币符号替换为文本,例如将 $ 替换为美元。例如:
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)
要查看包含卢比的
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
添加在卢比后面。