我有以下逗号分隔列表:
"keywords": ["AAA,Gas prices,GasBuddy,South Carolina"],
我希望每个单词都用双引号括起来:
"keywords": ["AAA","Gas prices","GasBuddy","South Carolina"],
我需要一些regEx指导。我是新手。谢谢!
答案 0 :(得分:0)
你想要的正则表达式是s/(\w)"?,"?(\w)/\1","\2/g
。如何在您的环境中实际实现这一点。
本质上,正则表达式将确保逗号两边都有单词字符(\w
s)(以避免匹配字符串末尾的单词),捕获它们,然后转储它们用双引号和逗号返回。
编辑:为第一部分添加了可选引号,以便捕获"不平衡"引号。
答案 1 :(得分:0)
类似的方法是,找到没有相邻双引号的逗号......
$ echo "[\"AAA,Gas prices,GasBuddy,South Carolina\"]" |
sed -r 's/([^"]),([^"])/\1","\2/g'
["AAA","Gas prices","GasBuddy","South Carolina"]
答案 2 :(得分:0)
我根本不会使用正则表达式。如果这是Javascript,我会从对象中获取字符串,用.split()
解析它,然后用该数组替换它。
var object = {
"keywords": ["AAA,Gas prices,GasBuddy,South Carolina"]
};
var str = object.keywords[0];
var arr = str.split(',');
object.keywords = arr;
console.log(object);