2011-06-28 16 views
87

मैं जावास्क्रिप्ट में सफेद स्पेस वर्णों (स्पेस, टैब, न्यूलाइन) की सभी घटनाओं को प्रतिस्थापित करना चाहता हूं।
ऐसा कैसे करें?सभी व्हाइटस्पेस वर्णों को बदलें

मैंने कोशिश की:

str.replace(/ /gi, "X") 
+1

http://www.regular-expressions.info/ –

+1

"एक्स" और क्यों है? –

+0

स्ट्रिंग.रेप्लेस ('', "एक्स") के बारे में क्या; –

उत्तर

200

आप \s

अंतरिक्ष, टैब, प्रपत्र फ़ीड, लाइन फ़ीड सहित एक भी सफेद स्थान चरित्र, मेल चाहते हैं।

समतुल्य में

[ \f\n\r\t\v​\u00A0\u1680​\u180e\u2000​\u2001\u2002​\u2003\u2004​\u2005\u2006​\u2007\u2008​\u2009\u200a​\u2028\u2029​\u2028\u2029​\u202f\u205f​\u3000] 

करने के लिए Firefox और IE में [ \f\n\r\t\v]


str = str.replace(/\s/g, "X"); 
+31

+1 यह दिखाने के लिए याद रखें कि 'प्रतिस्थापन' फ़ंक्शन 'str' को संशोधित नहीं करता है, इसलिए आपको इसे वापस असाइन करना होगा। – FishBasketGordo

+18

आप इसके लिए +1 नहीं दे सकते ... – Juan

+0

फ़ंक्शन में, आप str वापस कर सकते हैं।प्रतिस्थापित करें, इसलिए आपको उस दायरे में असाइन करने की आवश्यकता नहीं है। – nottinhill

19

\s एक मेटा चरित्र है कि सभी सफेद स्थान को शामिल किया गया है। आपको इसे केस-असंवेदनशील बनाने की आवश्यकता नहीं है - सफेद स्थान में मामला नहीं है।

str.replace(/\s/g, "X") 
3

इस प्रयास करें:

str.replace(/\s/gi, "X") 
+0

यह काम नहीं करता है। '\ s \ n \ t' मैचों: किसी भी व्हाइटस्पेस चरित्र के बाद, एक नई लाइन के बाद, टैब के बाद। –

+0

मैंने गलती की है मैंने इसे सही किया है। – Headshota

+0

'g' के बाद' i' क्या है? – M98

7

आप \s की कोशिश की?

str.replace(/\s/g, "X"); 
1

वास्तव में यह काम किया गया है, लेकिन

सिर्फ इस प्रयास करें।

तरह

String a = /\s/g; 

str = str.replaceAll(a,"X"); 
6

एक स्ट्रिंग चर में मूल्य/\ रों/जी ले हम भी इसका उपयोग कर सकते है कि हम सब एक से अधिक एक भी चरित्र के साथ खाली रिक्त स्थान में शामिल हो गए बदलना चाहते हैं:

str.replace(/\s+/g,'X'); 
0

नहीं/गी लेकिन/जी

var fname = "My Family File.jpg" 
fname = fname.replace(/ /g,"_"); 
console.log(fname); 

012 देता है
"My_Family_File.jpg" 
0

मैं underscore.string से "slugify" पद्धति का उपयोग किया है और यह एक आकर्षण की तरह काम किया:

https://github.com/epeli/underscore.string#slugifystring--string

अच्छी बात यह है कि आप वास्तव में सिर्फ इस विधि आयात कर सकते हैं, नहीं है पूरी लाइब्रेरी आयात करने की जरूरत है।

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