2012-11-12 13 views
10

Possible Duplicate:
Replacing all occurrences of a string in javascript?जावास्क्रिप्ट replaceAll

मैं एक चर में सभी स्ट्रिंग को बदलने के लिए की जरूरत है काम नहीं कर रहा।

<script> 
var a="::::::"; 
a = a.replace(":","hi"); 
alert(a); 
</script> 

कोड से ऊपर केवल पहली स्ट्रिंग यानी बदल देता है .. hi::::::

मैं replaceAll लेकिन इसके काम नहीं कर रहा करते थे।

कृपया मुझे गाइड, धन्यवाद

उत्तर

18

जावास्क्रिप्ट में कोई replaceAll है: त्रुटि कंसोल शायद एक त्रुटि रिपोर्टिंग किया गया था .. ध्यान देना!

इसके बजाय, replace करने के लिए एक नियमित अभिव्यक्ति तर्क के साथ /g ("विश्व स्तर पर मेल खाते हैं") संशोधक का उपयोग:

var a="::::::"; 
a = a.replace(/:/g,"hi"); 
alert(a); 

MDN: String.replace (और कहीं) में शामिल है।

+0

यह कोड क्यों काम नहीं कर रहा है var = =::):) :::: "; ए = ए.रेप्लेस (/:)/जी, "हाय"); अलर्ट (ए); –

+1

@ विष्णु चिड क्योंकि '/:)/g' एक अवैध नियमित अभिव्यक्ति शाब्दिक है (इसके परिणामस्वरूप" अतिरिक्त "समापन कोष्ठक के कारण सिंटेक्स त्रुटि होगी)। इसके बजाए '/: \)/g' आज़माएं। कृपया त्रुटि संदेशों को पढ़ें और त्रुटि संदेशों के बारे में सटीक रहें - "काम नहीं कर रहे" और "काम नहीं करते" बहुत अस्पष्ट हैं। –

+0

मुझे syntaxError मिलता है: गायब) /: \)/g के लिए तर्क सूची के बाद, कृपया मदद करें, और स्लैश का उपयोग करने के लिए मुझे क्या विषय पढ़ना चाहिए ?? –

6

जावास्क्रिप्ट में कोई replaceAll फ़ंक्शन नहीं है।

आप के रूप pst के जवाब में दिखाया गया है एक वैश्विक पहचानकर्ता के साथ एक regex का उपयोग कर सकते हैं:

a.replace(/:/g,"hi");

एक वैकल्पिक जो कुछ लोगों के रूप में यह समाप्त नियमित अभिव्यक्ति के लिए की जरूरत जावास्क्रिप्ट का split और join कार्यों का उपयोग करने के लिए है पसंद करते हैं इस प्रकार:

a.split(":").join("hi"); 

यह ध्यान देने योग्य है कि दूसरा दृष्टिकोण धीमा है।

+2

+1। विभाजन समाधान के लिए – elclanrs

+0

+1 –

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