使用nodejs,我需要提取兩個不同字符之間的所有字符串,並將它們存儲在數組中以供將來使用。 例如,考慮一個文件,其中包含具有以下內容的文件。NODEJS:提取兩個不同字符之間的字符串並將它們存儲在數組中
"type":"multi",
"folders": [
"cities/",
"users/"
]
我需要提取的話:城市和用戶,並將它們放置在一個數組。一般來說,我希望「和/」之間的詞
使用nodejs,我需要提取兩個不同字符之間的所有字符串,並將它們存儲在數組中以供將來使用。 例如,考慮一個文件,其中包含具有以下內容的文件。NODEJS:提取兩個不同字符之間的字符串並將它們存儲在數組中
"type":"multi",
"folders": [
"cities/",
"users/"
]
我需要提取的話:城市和用戶,並將它們放置在一個數組。一般來說,我希望「和/」之間的詞
謝謝,這非常有幫助。但是,我不希望這些字符包含在子字符串中 –
您想從該JSON中輸出什麼內容? – abdulbarik
如果將REGEX更改爲(?:「)(。+? )(?:\ /「)」等等在非捕捉組中。如果那是你想要的。 – tk78
如Bergi提到在一個評論,這看起來可疑地類似於JSON(javascript object notation。)所以我會寫我的答案,假設它是。對於當前的例子是有效的JSON,它需要這樣的內部對象的括號:
{
"type": "multi",
"folders": [
"cities/",
"users/"
]
}
如果您解析這一點:
var parsed_json = JSON.parse(json_string);
// You could add the brackets yourself if they are missing:
var parsed_json = JSON.parse('{' + json_string + '}');
然後,所有你必須做的就是給陣列:
var arr = parsed_json.folders;
console.log(arr);
並修復惱人的拖尾斜槓我們重新映射數組:
// .map calls a function for every item in an array
// And whatever you choose to return becomes the new array
arr = arr.map(function(item){
// substr returns a part of a string. Here from start (0) to end minus one (the slash).
return item.substr(0, item.length - 1);
// Another option could be to instead just replace all the slashes:
return item.replace('/' , '');
}
現在結尾的斜槓都不見了:
console.log(arr);
我非常新的NodeJS和JavaScript。我正在使用這個練習。我發現這樣做的方式是使用匹配方法。但是我沒有在正確的分隔符 –
處添加你的失敗嘗試的問題,所以我們有一個共同點談論 – Thomas
你的文件是否實際上包含JSON?或者是YAML?解析它。 – Bergi