2012-06-10 73 views
1

我做了一個刪除en和em破折號的函數。大!但是,當我嘗試將它上傳到github,然後重新安裝作爲一個軟件包發生的功能。它用一些gobly gook角色代替破折號。這通常意味着unicode的東西。我希望能夠導出該功能。導出包的Unicode字符

我試着用\u20130x2013替換\\–。也參與了fixedperl的論點。沒有運氣。

這裏是:

  1. 的作品
  2. 測試用例
  3. 它的外觀後,我將其導入回

代碼的功能:

#What I exported 
incomp <- function (text.var){ 
    x <- gsub("\\–", "|", x) 
    x <- gsub("\\—", "|", x) 
    return(x) 
} 

#here it is in action working well 
x <- c("I like...", "well?.", "–", "—") 
incomp(x) 

#[1] "I like..." "well?." "|" "|" #what I look like (ain't I pretty?) 

#what the exported function looks like when the package compiles 
incomp <- function (text.var){ 
    x <- gsub("[â€「]", "|", x) 
    x <- gsub("[â€」]", "|", x) 
    return(x) 
} 

#I don't work anymore 
x <- c("I like...", "well?.", "(–", "—") #I'm broken 
incomp(x) 

搜索r和unicode會產生大量信息,但我似乎無法正確將其應用於我的情況。

The unicodes are

  • u2013的破折號
  • u2014的破折號

這篇文章是跨張貼在talkstats.com。我通常不會過帳,但是我正在槍下解決這個問題。我將鏈接這兩個線程。 LINK TO THE TALKSTATS THREAD

預先感謝您。

回答

0

導出語言環境R的默認設置爲「C」我猜。您的區域設置可能不同。 也許你可以在你的軟件包中使用Sys.setlocale?