[英]Replace single quotes with double quotes inside string
我的代碼用雙引號替換了所有對象鍵,但單引號的值沒有被替換
var str = "db.projects.insert({'projectid':'1001','projteamname':'DBTeam','amount':100})"
var objKeysRegex = /({|,)(?:\s*)(?:')?([A-Za-z_$\.][A-Za-z0-9_ \-\.$]*)(?:')?(?:\s*):/g;// look for object names
str = str.replace(objKeysRegex, "$1\"$2\":");// all object names should be double quoted
console.log(str)
我無法獲得以下結果
Expected ouput
db.projects.insert({"projectid":"1001","projteamname":"DBTeam","amount":100})
我相信您在這里使事情變得過於復雜,如果您只想替換所有這些引號,就足夠了:
var str = "db.projects.insert({'projectid':'1001','projteamname':'DBTeam','amount':100})"; alert(str.replace(/'/g, '"'));
您可以嘗試使用以下模式:
([{:,])'(\w+)'/g;
並替換為:
$1\"$2\"
var str = "db.projects.insert({'projectid':'1001','projteamname':'DBTeam','amount':100})" var objKeysRegex = /([{:,])'(\\w+)'/g; str = str.replace(objKeysRegex, '$1\\"$2\\"'); alert(str)
結果:
db.projects.insert({ “專案編號”: “1001”, “projteamname”: “DBTeam”, “量”:100})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.