如何在R中使用正则表达式为此字符串插入开始和结束括号

时间:2016-10-21 09:54:34

标签: json r regex gsub

您好我将此json条目存储在R:

中的对象字符串中
string <- '"rooms":"{\"name\": \"01\",\"type\": \"Quiet Room\",\"used\": \"90\",\"empty\": \"10\"},{\"name\": \"02\",\"type\": \"Meeting Room\",\"used\": \"90\",\"empty\": \"10\"}"}'

想要使用gsub插入开始和结束括号以使其成为json数组,结果是:

"rooms": "[{\"name\": \"01\",\"type\": \"Quiet Room\",\"used\": \"90\",\"empty\": \"10\"},{\"name\": \"02\",\"type\": \"Meeting Room\",\"used\": \"90\",\"empty\": \"10\"}]"

我目前的做法:

gsub("rooms\":\"\\{\\\"name(.*\\\"\\})\"", "rooms\":\"\\[\\{\\\"name\\1\\]\"", string)

但它不起作用:(任何想法朋友?

1 个答案:

答案 0 :(得分:0)

使用此模式尝试sub

sub('(.*):\"(.*)}','\\1:"[\\2}]',string)

这将在第一个:\之后插入一个空心括号,在最后一个}之后插一个右括号。