1

私は次の文字列を持っています

> str    
[1]  "[ { \"category\" : \"book\"} , { \"category\" : \"Movie\"} , { \"category\" : \"Brand\"}]"

次のベクトルを取得するためにそれを取り除きたい

> a
[1] "book" "Movie" "Brand" 

私の問題は、文字列内の ""と\を処理して、Rのgrepまたはgsubに渡す方法です。これは私が行ったことであり、エラーが発生します。

> grep("^\[ \{ \\"category\\" : \\"([a-zA-Z0-9/]+)\\".*",str)
Error: '\[' is an unrecognized escape in character string starting "^\["

私も正しい方向に進んでいますか?

4

1 に答える 1

5

多分rjsonパッケージはあなたを整理します:

> require(rjson)
> unlist(fromJSON(str))
  category category category 
    "book"  "Movie"  "Brand" 

あなたが望む名前(「カテゴリ」)を無視します。as.vector()それらを取り除くためにラップインします。

于 2013-01-02T17:52:37.443 に答える