2011-01-31 25 views

उत्तर

3

आप replace फ़ंक्शन का उपयोग कर सकते हैं।

str.replace(regexp|substr, newSubstr|function) 
69

नियमित अभिव्यक्तियों के साथ replace() का उपयोग करना सबसे लचीला/शक्तिशाली है। जावास्क्रिप्ट में एक खोज पैटर्न के हर उदाहरण को वैश्विक स्तर पर बदलने का यह एकमात्र तरीका भी है। replace() का गैर-रेगेक्स संस्करण केवल पहले उदाहरण को प्रतिस्थापित करेगा।

उदाहरण के लिए:

var str = "foo gar gaz"; 

// returns: "foo bar gaz" 
str.replace('g', 'b'); 

// returns: "foo bar baz" 
str = str.replace(/g/gi, 'b'); 

बाद उदाहरण में, अनुगामी /gi इंगित करता है मामला-असंवेदनशीलता और वैश्विक प्रतिस्थापन (जिसका अर्थ है कि न सिर्फ पहला उदाहरण प्रतिस्थापित किया जाना चाहिए) है, जो क्या आप आमतौर पर चाहते हैं जब आप तारों में बदल रहा है।

करने के लिए, वर्ण निकालने स्थानापन्न के रूप में एक खाली स्ट्रिंग का उपयोग करें:

var str = "foo bar baz"; 

// returns: "foo r z" 
str.replace(/ba/gi, ''); 
+1

अच्छा जवाब। वैसे, 'str.replace (' g ',' b ');' स्वयं काम नहीं करता है। 'Str = str.replace ('g', 'b') का उपयोग करना; 'उत्तर को बेहतर बना देगा। – Yuci

3

मैं जानता हूँ कि यह पुराना है, लेकिन यदि आप एक विभाजन कर तो में शामिल होने के लिए यह एक विशेष चरित्र यानी की सभी घटनाओं निकाल देगा:

var str = theText.split('A').join('') 

स्ट्रिंग से 'ए' की सभी घटनाओं निकाल देंगे, स्पष्ट रूप से यह ऐसा नहीं है संवेदनशील

+1

यह एक इन-प्लेस फ़ंक्शन नहीं है, इसलिए आपको 'theText = theText.split (' ए ') करना होगा। इसके लिए काम करने के लिए (' ')' शामिल हों। यह आदेश ब्रैकेट जैसे अजीब पात्रों के लिए विशेष रूप से सहायक है। – cameronroytaylor

+0

आपकी टिप्पणी के प्रकाश में अपडेट किया गया – atamata

14

ONELINER जो (एक बार में एक से अधिक) वर्ण सूची को दूर - उदाहरण के लिए टेलीफोन नंबर से +,-, ,(,) निकालें:

var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); // result: "48123456789" 

हम नियमित अभिव्यक्ति [-+()\s] जहाँ हम [ और ]

के बीच अवांछित पात्रों डाल (का उपयोग "\s" है 'स्पेस' कैरेक्टर एस्केप - अधिक जानकारी के लिए google 'character regexp में से बचता है')

2

एक और तरीका जिसे किसी ने अभी तक बात नहीं की है वह सबस्ट्रेट विधि है स्ट्रिंग को किसी अन्य स्ट्रिंग से बाहर करने के लिए ... यह उपयोगी है यदि आपकी स्ट्रिंग ने लंबाई निर्धारित की है और आपके हटाने वाले वर्ण स्ट्रिंग के किसी भी छोर पर हैं या स्ट्रिंग के कुछ "स्थिर आयाम" में हैं।

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