簡體   English   中英

用字符串內的雙引號替換單引號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM