2015-07-08 4 views
6

Gerade jetzt beantwortete ich diese Removing characters after a EURO symbol in R Frage. Aber es funktioniert nicht für mich, wo der R-Code für andere auf Ubuntu funktioniert.Verwirrt mit den Gebietsschemaeinstellungen in R

Dies ist mein Code.

Ich denke, das ist alles über die Änderung der Gebietsschema-Einstellungen, ich weiß nicht, wie das geht.

I rstudio auf Windows 8.

> 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 Antwort renne ist gut, aber wir brauchen, dass encoding Parameter für jedes Mal hinzuzufügen, wenn wir Unicodes in regex verwenden. Gibt es eine Möglichkeit, die Standardcodierung unter Windows auf utf-8 zu ändern?

+0

„Wenn Sie nicht über eine Standard-Kodierung gesetzt, werden die Dateien geöffnet werden UTF-8 (auf einem Mac-Desktop, Linux-Desktop und Server) oder das Standard-Kodierung des Systems (unter Windows) "(von [hier] (https://support.rstudio.com/hc/en-us/articles/200532197-Character-Encoding)). –

+0

Sie können die Standardcodierung mit 'options (encoding =" UTF-8 ")' festlegen. Dies ist jedoch nicht die magische Lösung, die Sie wollen. UTF-8-Unterstützung in R unter Windows ist nicht gut; Ich erinnere mich an ein Gespräch darüber, dass viele Konvertierungen von und zu UTF-16 nötig waren, was die Dinge kaputt machte. –

Antwort

6

Scheint ein Problem mit der Codierung zu sein.

Bedenken Sie:

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"