我有一個字符串數組中的替換字符串內的雙引號:陣列中的
["foo","bar","foo"bar"baz"]
我使用eval
方法,形成以該字符串數組,但是內部的雙引號不被轉義:
eval('["foo","bar","foo"bar"baz"]') # => SyntaxError
有沒有辦法只轉義數組中的元素?
我有一個字符串數組中的替換字符串內的雙引號:陣列中的
["foo","bar","foo"bar"baz"]
我使用eval
方法,形成以該字符串數組,但是內部的雙引號不被轉義:
eval('["foo","bar","foo"bar"baz"]') # => SyntaxError
有沒有辦法只轉義數組中的元素?
我想你可以嘗試像
eval('["foo","bar","foo"bar"baz"]'.gsub(/(\w)\"(\w)/, '\1\"\2'))
,如果我得到了你意味着
或'.gsub(/ \ b「\ b /,'\'')' –
是的,這是更優雅的解決方案 –
我認爲它不會解決所有的情況,不幸的是。 「[」foo「,」foo「b ar」baz「,」「」「」「」「」]「''''? –
這可能會爲所有可能的變體工作。這將修復所有報價,除了在逗號和括號附近出現外
.gsub(/(?<!\,)(?<!\[)(?<!\])\"(?!\,)(?!\[)(?!\])/, '\"')
您是否試圖爲此編寫模式?請分享你的嘗試。 –
你能告訴,你想得到什麼結果嗎? –
@WiktorStribiżew我正在嘗試這個https://repl.it/CdvP/1 –