2016-09-01 16 views
0

問題は非常に簡単ですが、私はそれを修正する運を持っていません。 strsplit()はかなり単純な関数であり、私は私と同じくらい苦労しています驚いています:R - strsplitが機能しません、文字間の文字はスペースではありませんか?

# temp is the problem string. temp is copy/pasted from my R code. 
# i am hoping the third character, the space, which i think is the error, remains the error 
temp = "GS PG" 

# temp2 is created in stackoverflow, using an actual space 
temp2 = "GS PG" 

unlist(strsplit(temp, split = " ")) 
[1] "GS PG" 
unlist(strsplit(temp2, split = " ")) 
[1] "GS" "PG" 


例を再現しようとしている私とここでうまく動作しない場合でも、これは私が走っている問題です。 tempで、コードは何らかの奇妙な理由のためにスペース上の変数を分割していません。どんな考えも高く評価されます!

ベスト、

EDIT - 私の例で問題を再現できませんでした。参考までに、tempは自分のコードでオンラインでrvestでコードを掻き集めることで作成されています。何らかの理由で通常のスペース以外の別の文字を掻き分けていなければならないと思いますか?私はスペースでこれらの文字列を分割する必要があります。

+0

:ここ

whitespace <- c(" ", "\t" , "\n", "\r", "\v", "\f") grep(paste(whitespace,collapse="|"), temp) 

関連質問:それを絞り込むために、次のいずれかを 試してみてください気にしないで、最初に解決策が見つからないかを見たいと思ったのです – Canovice

+0

'grep(" "、temp)'を実行するとどうなりますか? 'grep(" \ t \ n \ r \ v \ f "、temp)'を試して、これらの空白文字のいずれかが動作するかどうかを調べることができます。 –

+0

'grep(" "、temp)'は整数(0) ' – Canovice

答えて

3

次のことを試してみてください。

unlist(strsplit(temp, "\\s+")) 

"\\s+"は空白だけではなく、標準的な空間の任意のタイプのための正規表現の検索です。コメントのように

+0

を返す' [[:space:]] + 'POSIX正規表現を使う – hrbrmstr

0

「スペース」は、実際にスペースが、他のいくつかの空白文字ではない可能性が高いです。これは私は、同様のコードをこする)、しかしこれは(rvestを投稿伴うだろう、私が再現コードを投稿することができ How to remove all whitespace from a string?

関連する問題