剥去R中的特殊字符

use*_*018 1 r

我有以下字符串

> str    
[1]  "[ { \"category\" : \"book\"} , { \"category\" : \"Movie\"} , { \"category\" : \"Brand\"}]"
Run Code Online (Sandbox Code Playgroud)

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

> a
[1] "book" "Movie" "Brand" 
Run Code Online (Sandbox Code Playgroud)

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

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

我是否走在正确的轨道上?

Spa*_*man 5

也许rjson包裹会把你排除在外:

> require(rjson)
> unlist(fromJSON(str))
  category category category 
    "book"  "Movie"  "Brand" 
Run Code Online (Sandbox Code Playgroud)

忽略你想要的名字("类别").包裹as.vector()以摆脱那些.