1

我有以下字符串

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

我想剥离它以获得以下向量

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

我的问题是如何处理字符串中的“”和\以将其传递给R中的grepgsub。这就是我所做的,我得到了一个错误

> 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 回答