[英]regexp find all values between quotation marks
我想將所有引號內的字符串值推入數組。
Database = {
"English": "forget password",
"zh-CN": "忘記密碼",
}
輸出應該是
extractedStrings = ["English", "forget password", "zh-CN", "忘記密碼"]
如下使用Object.entries
和Array.prototype.concat
var extractedStrings = [].concat(...Object.entries(Database));
對於Internet Exploder和Opera,您將需要一個Polyfill用於Object.entries
我猜您應該遍歷對象的鍵並將鍵和值推入數組。 比使用Object.entries和傳播語法更具兼容性。
var database = { "English": "forget password", "zh-CN": "忘記密碼", } var keyValues = Object.keys(database).reduce(function(acc, key) { acc.push(key, database[key]); return acc; }, []) console.log(keyValues)
您還可以執行正則表達式版本以匹配不屬於JSON語法的任何字符。 以下是一個比較幼稚的實現,我認為以上更好:
var database = { "English": "forget password", "zh-CN": "忘記密碼", } console.log(JSON.stringify(database).match(/[^\\":{},]+/g))
var obj = { "English": "forget password", "zh-CN": "忘記密碼",}; var arr=[]; for(var p in obj){ arr.push(p); arr.push(obj[p]); } console.info(arr);
你可以試試看。
Database = { "English": "forget password", "zh-CN": "忘記密碼", "other-language": "embedded \\"quotes\\"" } a = JSON.stringify(Database); words = a.match(/"(.*?)"/g); console.log(words);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.