刚才我回答了这个Removing characters after a EURO symbol in R问题。但是r代码适用于Ubuntu上的其他人对我来说不起作用。
这是我的代码。
x <- "services as defined in this SOW at a price of € 15,896.80 (if executed fro"
euro <- "\u20AC"
gsub(paste(euro , "(\\S+)|."), "\\1", x)
# ""
我认为这全都是关于更改语言环境设置的,我不知道该怎么做。
我在Windows 8上运行rstudio。
> sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
loaded via a namespace (and not attached):
[1] tools_3.2.0
@Anada的答案很好,但是每次在正则表达式中使用unicode时,都需要添加
encoding
参数。有什么方法可以在Windows上将默认编码修改为utf-8
吗? 最佳答案
似乎是编码问题。
考虑:
x <- "services as defined in this SOW at a price of € 15,896.80 (if executed fro"
gsub(paste(euro , "(\\S+)|."), "\\1", x)
# [1] ""
gsub(paste(euro , "(\\S+)|."), "\\1", `Encoding<-`(x, "UTF8"))
# [1] "15,896.80"
关于regex - 与R中的语言环境设置混淆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31289164/