剥去R中的特殊字符

时间:2013-01-02 17:40:37

标签: r

我有以下字符串

> 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 "^\["

我是否在正确的轨道上?

1 个答案:

答案 0 :(得分:5)

也许rjson包会将你排除在外:

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

忽略你想要的名字(“类别”)。包裹as.vector()以摆脱这些。