2011-05-17 4 views
3

小文字のすべての文字を普通の文字に置き換える簡単な方法を探しています。たとえば、föófooに変更したいとします。私は、次のようなこれを行うことができます:R:小文字のすべての文字を普通の文字に置き換えてください。

gsub("ö|ó","o","föó") 

しかし、おそらく、すべての可能な中断の手紙のためにこれを行うには、手動作業の多くになります。これを自動的に行う方法はありますか?

+1

アクセントと他のシンボルからのiconv使用するための

cleanString <- function(x){ tmp <- iconv(x, from="UTF8", to ="ASCII//TRANSLIT") gsub("[^[:alpha:]]", "", tmp) } x = "föó" cleanString(x) [1] "foo" 

アイデアを*特殊記号* – Henry

答えて

9

あなたはこのいくつかのバリエーション試すことができますと呼ばれているRemove diacritics from a string

+0

それは文字ベクトルを取る必要があります(つまり、 'X = c( "föó"、 "zöó") ')も同様です。 – Greg

+0

ありがとう、素晴らしいよね。私は 'ü'でそれを試してみるとNAを得ます:' cleanString( 'ü') ' –

+0

@Sacha - それは私のために働きます。残念ながら、それはシステムに依存すると感じています。 – Greg