2012-04-13 16 views
27

स्ट्रिंग से सबस्ट्रिंग के सभी उदाहरणों को हटाने के लिए मैं एक चर का उपयोग कैसे कर सकता हूं? इसmyString.replace (VARIABLE, "") ...... लेकिन वैश्विक स्तर पर

की तरह (दूर करने के लिए, मैं,, सोच रहा हूँ सबसे अच्छा तरीका बदलने के लिए है कुछ भी नहीं के साथ विश्व स्तर पर ... है ना?)

अगर मैं इन 2 तार है,

myString = "This sentence is an example sentence." 
oldWord = " sentence" 

फिर कुछ

myString.replace(oldWord, ""); 

केवल स्ट्रिंग में चर के पहले उदाहरण को प्रतिस्थापित करता है।

लेकिन अगर मैं इस myString.replace(/oldWord/g, ""); यह काम नहीं करता है, क्योंकि यह oldWord सोचता है, इस मामले में की तरह वैश्विक ग्राम जोड़ने के लिए, स्ट्रिंग, नहीं एक चर है। मैं चर के साथ यह कैसे कर सकता हूँ?

+1

संभव डुप्लिकेट [आप कैसे एक नियमित अभिव्यक्ति जावास्क्रिप्ट को एक चर पारित करते हैं?] (http://stackoverflow.com/ प्रश्न/494035/कैसे-करें-आप-पास-ए-वेरिएबल-टू-ए-नियमित-अभिव्यक्ति-जावास्क्रिप्ट) – fxp

उत्तर

50

ठीक है, आप इस का उपयोग कर सकते हैं:

var reg = new RegExp(oldWord, "g"); 
myString.replace(reg, ""); 

या बस:

myString.replace(new RegExp(oldWord, "g"), ""); 
+1

बूम: 'var oldWord = '\\';' –

8

आप जब चर गुजर शाब्दिक वाक्य रचना के बजाय निर्माता का उपयोग करना होगा। भ्रमित भागने वाक्यविन्यास से बचने के लिए शाब्दिक तारों के लिए शाब्दिक वाक्यविन्यास के साथ चिपकाएं।

var oldWordRegEx = new RegExp(oldWord,'g'); 

myString.replace(oldWordRegEx,""); 
+0

वूट! क्या यह मुझसे कॉपी कर रहा है? –

+8

मैं बस धीमा टाइप करता हूं और अधिक सलाह देता हूं। –

+0

ठीक है, बस जांच रहा है। –

-1

MDN पर डॉक्स के अनुसार, आप ऐसा कर सकते हैं:

var re = /apples/gi; 
var str = 'Apples are round, and apples are juicy.'; 
var newstr = str.replace(re, 'oranges'); 
console.log(newstr); // oranges are round, and oranges are juicy. 

जहां/गी यह बताता है मामले की अनदेखी, एक वैश्विक की जगह नहीं है।

+0

यह सवाल का जवाब नहीं देता है। –

0

यहां रेगुलर एक्सप्रेशन का उपयोग करने की आवश्यकता नहीं:

myString.split(oldWord).join('') 

ओपी के उदाहरण में::

var myString = "This sentence is an example sentence."; 
 
var oldWord = " sentence"; 
 
console.log(myString.split(oldWord).join(''));
सबस्ट्रिंग आप निकालना है, तो भागों शेष एक साथ शामिल करना चाहते हैं मैचों के आसपास स्ट्रिंग विभाजित

की
संबंधित मुद्दे