我有以下字符串
> 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 "^\["
我是否在正确的轨道上?
答案 0 :(得分:5)
也许rjson
包会将你排除在外:
> require(rjson)
> unlist(fromJSON(str))
category category category
"book" "Movie" "Brand"
忽略你想要的名字(“类别”)。包裹as.vector()
以摆脱这些。