मैं नियमित अभिव्यक्ति का पता लगाने की कोशिश कर रहा हूं जो किसी भी वर्ण से मेल खाएगा जो कोई अक्षर या संख्या नहीं है। तो जैसे चरित्र (,, @, £, () आदि ...
एक बार मिल जाने के बाद मैं इसे एक खाली जगह से बदलना चाहता हूं।
कोई सलाह।
मैं नियमित अभिव्यक्ति का पता लगाने की कोशिश कर रहा हूं जो किसी भी वर्ण से मेल खाएगा जो कोई अक्षर या संख्या नहीं है। तो जैसे चरित्र (,, @, £, () आदि ...
एक बार मिल जाने के बाद मैं इसे एक खाली जगह से बदलना चाहता हूं।
कोई सलाह।
जवाबों:
पत्र या संख्या के अलावा किसी भी चीज़ से मेल खाने के लिए आप यह कोशिश कर सकते हैं:
[^a-zA-Z0-9]
और प्रतिस्थापित करने के लिए:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
यह नियमित अभिव्यक्ति ऐसी किसी भी चीज़ से मेल खाती है जो अक्षर, अंक या अंडरस्कोर ( _) वर्ण नहीं है।
\W
उदाहरण के लिए जावास्क्रिप्ट में:
"(,,@,£,() asdf 345345".replace(/\W/g, ' '); // Output: " asdf 345345"
आप क्या देख रहे हैं:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
यह सभी गैर-अल्फ़ान्यूमेरिक वर्णों को एक स्थान से बदल देता है।
अंत में "जी" सभी घटनाओं को बदल देता है।
Az (लोअरकेस) और AZ (अपरकेस) निर्दिष्ट करने के बजाय आप इन-केस-संवेदी विकल्प का उपयोग कर सकते हैं /[^a-z0-9]/gi:।
इस तरह से बहुत देर हो चुकी है, लेकिन चूंकि कोई स्वीकृत जवाब नहीं है इसलिए मैं यह प्रदान करना चाहूंगा कि मुझे क्या लगता है कि यह सबसे सरल है: \ D - सभी गैर अंक वर्णों से मेल खाता है।
var x = "123 235-25%";
x.replace(/\D/g, '');
एक्स में परिणाम: "12323525"
Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions देखें
str.replace (/ [^ \ w] /) करने का प्रयास करें; यह आपके स्ट्रिंग से सभी गैर-अक्षर और संख्याओं को बदल देगा!
1 संपादित करें: str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' ')। यदि आप /gध्वज शामिल नहीं करते हैं तो यह केवल पहली घटना को प्रतिस्थापित करेगा। और यदि आप एक प्रतिस्थापन स्ट्रिंग को परिभाषित नहीं करते हैं, तो यहां रिक्त स्थान है ' ', यह undefinedसभी जगह बदल देगा । अंत में, अंडरस्कोर बदले नहीं जाएंगे क्योंकि वे मेल खाते हैं \w। यह जवाब सही नहीं है।
/[A-Z]/ig/[^A-Z]/ig/[0-9]/gया/\d+/g/[^0-9]/gया नहीं/\D+/g/[^A-Z0-9]/igअन्य संभावित पैटर्न हैं
बस दूसरों को देखने के लिए:
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
किसी भी गैर-अक्षर और गैर-संख्या वाले यूनिकोड वर्णों को हटा देगा।
replaceAll, और \p{..}संपत्ति से बचने के लिए व्यापक रूप से लागू नहीं किया गया है।
क्या आपने कोशिश की है str = str.replace(/\W|_/g,'');कि यह बिना किसी चरित्र के एक स्ट्रिंग लौटाएगा और आप निर्दिष्ट कर सकते हैं कि क्या पाइप के बाद कोई विशिष्ट चरित्र |उन्हें पकड़ने के लिए है।
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, ''); यह वापस आ जाएगा str = 1324567890abcJohnDoe
या अंकों और अक्षरों की तलाश करें और उन्हें रिक्त स्ट्रिंग ("") के लिए बदलें:
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, ''); यह वापस आ जाएगा str = '§$)% #$@';
éआप की कोशिश कर सकते हैं जैसे कि विकृति विज्ञान के साथ पत्र या संख्या या पत्र के अलावा कुछ भी मिलान करने के लिए :
[^\wÀ-úÀ-ÿ]
और प्रतिस्थापित करने के लिए:
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
शीर्ष पद से प्रेरित होकर डायक्ट्रीक्स के लिए समर्थन
\wशब्द वर्णों के लिए है और बिल्कुल वैसा ही है[a-zA-Z0-9_](ध्यान दें कि अंडरस्कोर शब्द वर्ण माना जाता है।) ... इसलिए शॉर्टहैंड होगाstr.replace(/[^\w]/g, ' ')