अगर मेरे पास एक स्ट्रिंग है जो इस तरह दिखती है:

 let oldString = '[foo faa] [faaaa] [feee foo] [fu]';

निम्नलिखित को वापस करने के लिए मैं इसे कैसे विभाजित कर सकता हूं:

let newArr = ['[foo faa]','[faaaa]','[feee foo]','[fu]'];

तो मैं इसे हर ']' चरित्र में विभाजित करना चाहता हूं, लेकिन उस चरित्र को नई सरणी में रखना चाहता हूं।

मैंने oldString.split(']') की कोशिश की है, लेकिन यह सरणी को उस आकार में वापस नहीं करता है जिसकी मुझे उम्मीद थी।

3
Daft 27 नवम्बर 2020, 12:25

3 जवाब

सबसे बढ़िया उत्तर

आप बाएँ और दाएँ सीमांकक के साथ भागों का मिलान कर सकते हैं।

let string = '[foo bar] [faaaa] [feee] [fu]',
    array = string.match(/\[[^\]]+\]/g);

console.log(array);
5
Nina Scholz 27 नवम्बर 2020, 12:31

यदि आप String#split का उपयोग करने का आग्रह करते हैं:

let oldString = '[foo faa] [faaaa] [feee foo] [fu]';

const result = oldString.split(/(?<=\])\s*(?=\[)/);

console.log(result);
0
Hao Wu 27 नवम्बर 2020, 12:39

आप नीचे उत्तर पा सकते हैं।

let oldString = '[foo faa] [faaaa] [feee foo] [fu]';
let newStringArr = oldString.split(" ").join(',').replace(/\],\[/gi, "],d[").split(",d")
console.log(newStringArr);

document.write(JSON.stringify(newStringArr))
0
cangokceaslan 27 नवम्बर 2020, 12:44