我在数组中有字符串:
["foo","bar","foo"bar"baz"]
我正在使用eval
方法形成一个包含此字符串的数组,但内部双引号不会被转义:
eval('["foo","bar","foo"bar"baz"]') # => SyntaxError
有没有办法只转义数组元素中的那些?
答案 0 :(得分:3)
我认为你可以尝试像
这样的东西eval('["foo","bar","foo"bar"baz"]'.gsub(/(\w)\"(\w)/, '\1\"\2'))
如果我得到了你的意思
答案 1 :(得分:1)
这可能适用于所有可能的变体。除了出现在逗号和括号旁边之外,这将修复所有引号
.gsub(/(?<!\,)(?<!\[)(?<!\])\"(?!\,)(?!\[)(?!\])/, '\"')