2012-06-01 7 views
5

デリミタがバックスラッシュの場合、大量のデータがあります。私はRでそれを処理しています。バックスラッシュはメタキャラクターなので、文字列を分割する方法はわかりません。たとえば、文字列は次のようになります。私は、「使用しようとするとメタ文字を使用したRのstrsplit

strsplit(tempStr, "\\") 
Error in strsplit(tempStr, "\\") : 
    invalid regular expression '\', reason 'Trailing backslash' 

1128\0019\XA5\E2R\366\00=15 

と私は\文字に沿って、それを分割したいが、私はstrsplitコマンドを実行すると残念ながら

strsplit(tempStr, "\", fixed = TRUE) 

、私はデータは、GENER他のプログラムとデータを前処理であることができないので:それはバックスラッシュの後に何かを期待しているので、固定された」オプション、それは実行されません。毎日ated。

答えて

14

(あなたが明示的にそれを言うことはありませんが)コードのあなたの行は次のとおりです。

strsplit(tempStr, "\\") 

strsplit(tempStr, "\\\\") 

これは、「\\」として読まれる、規則的でなければなりません式は "\"として理解されます。

+0

が、残念ながら、これは動作していないが...私はちょうど同じ文字列を取得します。他のアイデア?ありがとう。 – newRUser

+2

自己完結型の例を提供してください(つまり、実行できるようにRコードに入れてください) –

+0

同じ問題です。\\\\を実行すると、ダブルスラッシュ、 \\上記のエラーを取得し、\\\は次の引用符をエスケープしようとします... –

3

あなたのデータは何らかのファイルに含まれていると思われます。この場合は、read.tableを使用しますが、区切り文字は明示的に指定してください。たとえば、あなたのファイルだったとします

a\b\c\d 
e\f\g\h 

を、次にRにこれを読むために、次のコマンドを使用します。

read.table("file.txt", sep="\\") 
-1

はこのお試しください:

strsplit(tempStr, "\"") 
関連する問題