JavaScript स्ट्रिंग में सबस्ट्रिंग के सभी उदाहरण कैसे बदलें?
सभी को नमस्ते! मैं JavaScript में नया हूँ और मुझे इस समस्या का सामना करना पड़ा: मुझे एक स्ट्रिंग में किसी विशेष शब्द या कैरेक्टर के सभी उदाहरणों को बदलने की आवश्यकता है। मैंने replace() मेथड का उपयोग करने की कोशिश की, लेकिन यह केवल पहले मैच को बदलता है।
यहाँ मेरे कोड का उदाहरण है:
```javascript
let text = "Я люблю JavaScript. JavaScript — это круто!";
let newText = text.replace("JavaScript", "Python");
console.log(newText); // आउटपुट: "Я люблю Python. JavaScript — это круто!"
```
जैसा कि आप देख सकते हैं, केवल पहला शब्द "JavaScript" बदला गया, जबकि दूसरा वैसे ही रह गया। मैं कैसे सुनिश्चित करूँ कि सभी उदाहरण बदल जाएँ? मैंने सुना है कि रेगुलर एक्सप्रेशन का उपयोग किया जा सकता है, लेकिन मैं अभी उनमें बहुत अच्छा नहीं हूँ। क्या कोई आसान तरीका है? या क्या RegExp सीखना ज़रूरी है?
मैं उदाहरणों के साथ स्पष्ट स्पष्टीकरण के लिए आभारी रहूँगा। धन्यवाद!
<<>>
समाधान: फ्लैग g के साथ रेगुलर एक्सप्रेशन का उपयोग करके replace() मेथड
आप बिल्कुल सही हैं — अतिरिक्त पैरामीटर के बिना स्टैंडर्ड replace() मेथड केवल पहले मैच को बदलता है। सभी उदाहरणों को बदलने के लिए, आपको ग्लोबल फ्लैग (g) के साथ रेगुलर एक्सप्रेशन का उपयोग करना होगा। यहाँ एक उदाहरण है:
let text = "Я люблю JavaScript. JavaScript — это круто!";
let newText = text.replace(/JavaScript/g, "Python");
console.log(newText); // आउटपुट: "Я люблю Python. Python — это круто!"
रेगुलर एक्सप्रेशन /JavaScript/g में, g फ्लैग का मतलब "ग्लोबल" है, जो स्ट्रिंग में सभी मैचों को खोजता है। यह सबसे सरल और सबसे कुशल तरीका है। आप RegExp कंस्ट्रक्टर का भी उपयोग कर सकते हैं यदि पैटर्न डायनामिक है: new RegExp('JavaScript', 'g')।