मैं जावास्क्रिप्ट में सफेद अंतरिक्ष वर्णों (स्पेस, टैब, न्यूलाइन) की सभी घटनाओं को बदलना चाहता हूं।
ऐसा कैसे करें?
मैंने कोशिश की:
str.replace(/ /gi, "X")
मैं जावास्क्रिप्ट में सफेद अंतरिक्ष वर्णों (स्पेस, टैब, न्यूलाइन) की सभी घटनाओं को बदलना चाहता हूं।
ऐसा कैसे करें?
मैंने कोशिश की:
str.replace(/ /gi, "X")
जवाबों:
तुम्हें चाहिए \s
स्पेस, टैब, फॉर्म फीड, लाइन फीड सहित एक ही सफेद स्पेस कैरेक्टर से मेल खाता है।
के बराबर
[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
में फ़ायरफ़ॉक्स और [ \f\n\r\t\v]
में आईई ।
str = str.replace(/\s/g, "X");
replace
फ़ंक्शन संशोधित नहीं हुआ है str
, इसलिए आपको इसे वापस असाइन करना होगा।
perl = TRUE
, जैसेgsub(pattern = "[\\s]+", ..., perl = TRUE)
हम इसका उपयोग तब भी कर सकते हैं जब हम एक ही वर्ण के साथ सभी एकाधिक सम्मिलित रिक्त स्थानों को बदलना चाहते हैं:
str.replace(/\s+/g,'X');
इसे यहां देखें: https://regex101.com/r/d9d53G/1
व्याख्या
/
\s+
/ जी
\s+
किसी भी व्हाट्सएप चरित्र से मेल खाता है (बराबर [\r\n\t\f\v ]
)+
क्वांटिफायर - एक और असीमित समय के बीच मेल खाता है, जितनी बार संभव हो उतनी बार वापस दे रहा है (लालची)
क्या आपने कोशिश की है \s
?
str.replace(/\s/g, "X");
इसे इस्तेमाल करे:
str.replace(/\s/g, "X")
\s\n\t
मैच: कोई भी व्हाट्सएप चरित्र, उसके बाद एक नई पंक्ति, उसके बाद टैब।
वास्तव में यह काम किया गया है लेकिन
बस यह कोशिश करो।
जैसे स्ट्रिंग स्ट्रिंग में मान / \ / s लें
String a = /\s/g;
str = str.replaceAll(a,"X");
replaceAll
से?
मैंने अंडरस्कोर.स्ट्रिंग से "स्लगिफ़" विधि का उपयोग किया है और यह एक आकर्षण की तरह काम करता है:
https://github.com/epeli/underscore.string#slugifystring--string
अच्छी बात यह है कि आप वास्तव में सिर्फ इस पद्धति का आयात कर सकते हैं, पूरे पुस्तकालय को आयात करने की आवश्यकता नहीं है।