10

「Energyper�m」という文字列を含むマトリックスがあります。'm'の前には、疑問符が付いたひし形の記号があります。これが何であるかはわかりません。

マトリックスの列でこれを使用して、それを取り除こうとしました。

a=gsub('Energy per �m','',a) 

[そしてgsubの最初の項にコピー/貼り付けを使用]、しかしそれは機能しません。[ "a = rep(5、Energyper""の予期しない記号]。greplで元のマトリックスから何かを抽出しようとすると:

46: In grepl("ref. value", raw$parameter) :
input string 15318 is invalid in this locale

どうすればこの種の兆候をすべて取り除くことができますか?0〜9、AZ、az、/、および'のみが必要です。残りはザッピングすることができます。

4

1 に答える 1

24

これを行うには、おそらく正規表現を使用するよりも良い方法があります (たとえば、 を変更するEncodingなど)。

しかし、ここにあなたの正規表現ソリューションがあります:

gsub("[^0-9A-Za-z///' ]", "", a)
[1] "Energy per m"

しかし、@ JoshuaUlrich が指摘したように、次を使用することをお勧めします。

gsub("[^[:alnum:]///' ]", "", x)
[1] "Energy per m"
于 2012-08-15T14:25:36.223 に答える