दिलचस्प पोस्ट
Rails.cache.fetch के साथ भ्रम कैशिंग सक्रिय रिकॉर्ड क्वेरी फ़ायरफ़ॉक्स में वेबआरटीसी ऑफ़र टूअरेसेवऑडियो त्रुटि Android में ResultReceiver का उपयोग करना जावास्क्रिप्ट में लोड करने के लिए छवि की प्रतीक्षारत जर्सी एएस 7 पर जर्सी के एक वेबपेज की तैनाती जावास्क्रिप्ट सरणी में संपत्ति जोड़ें सॉकेट.ओ 1.0 में कक्ष की क्लाइंट सूची कैसे प्राप्त करें UISegmented आईओएस 7 में यूआईनेविगेशनबार नीचे नियंत्रण क्या एक कर्सर का उपयोग किए बिना टीएसक्यूएल में टेबल वैरिएबल के माध्यम से लूप का कोई तरीका है? आईबीएम वेबस्फेयर के लिए हाइबरनेट जेपीए 2.1 का उपयोग करके आवेदन को नियोजित करने के लिए NullPointerException प्रदान करता है एडब्लूएस एस 3 बाल्टी में सभी ऑब्जेक्ट डिफ़ॉल्ट रूप से कैसे सार्वजनिक करें? स्पिनर पाठ लपेट नहीं करता – क्या यह एक एंड्रॉइड बग है? स्विफ्ट में दृश्य नियंत्रकों के बीच डेटा कैसे पहुंचा? Google Drive Android API में DriveId.getResourceId () का अप्रत्याशित परिणाम सी ++ कन्स प्रयोग स्पष्टीकरण

मैं डैश को छोड़कर स्ट्रिंग से सभी गैर अल्फ़ान्यूमेरिक वर्ण कैसे निकालूं?

मैं डैश और स्पेस वर्णों को छोड़कर स्ट्रिंग से सभी गैर अल्फ़ान्यूमेरिक वर्ण कैसे निकालूं?

Solutions Collecting From Web of "मैं डैश को छोड़कर स्ट्रिंग से सभी गैर अल्फ़ान्यूमेरिक वर्ण कैसे निकालूं?"

खाली स्ट्रिंग के साथ [^a-zA-Z0-9 -] बदलें।

 Regex rgx = new Regex("[^a-zA-Z0-9 -]"); str = rgx.Replace(str, ""); 

मैं रेगएक्स का उपयोग कर सकता था, वे सुरुचिपूर्ण समाधान प्रदान कर सकते हैं लेकिन वे निष्पादन संबंधी समस्याएं पैदा कर सकते हैं। यहाँ एक समाधान है

 char[] arr = str.ToCharArray(); arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-'))); str = new string(arr); 

कॉम्पैक्ट ढांचे का उपयोग करते समय (जो कि FindAll नहीं है)

FindAll को 1 के साथ बदलें

 char[] arr = str.Where(c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-')).ToArray(); str = new string(arr); 

1 टिप्पणी शॉनफ़ेथरली द्वारा

तुम कोशिश कर सकते हो:

  string s1= Regex.Replace(s,"[^A-Za-z0-9 _]",""); 

जहां आपकी स्ट्रिंग है

System.Linq का उपयोग करना

 string withOutSpecialCharacters = new string(stringWithSpecialCharacters.Where(c =>char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-').ToArray()); 

रेगेक्स [^\w\s\-]* :

\s स्थान के बजाय उपयोग करने के लिए बेहतर है ( ), क्योंकि पाठ में एक टैब हो सकता है

इस प्रश्न के उत्तर के आधार पर, मैंने एक स्थैतिक वर्ग बनाया और इन्हें जोड़ा। सोचा कि यह कुछ लोगों के लिए उपयोगी हो सकता है

 public static class RegexConvert { public static string ToAlphaNumericOnly(this string input) { Regex rgx = new Regex("[^a-zA-Z0-9]"); return rgx.Replace(input, ""); } public static string ToAlphaOnly(this string input) { Regex rgx = new Regex("[^a-zA-Z]"); return rgx.Replace(input, ""); } public static string ToNumericOnly(this string input) { Regex rgx = new Regex("[^0-9]"); return rgx.Replace(input, ""); } } 

फिर विधियों के रूप में उपयोग किया जा सकता है:

 string example = "asdf1234!@#$"; string alphanumeric = example.ToAlphaNumericOnly(); string alpha = example.ToAlphaOnly(); string numeric = example.ToNumericOnly(); 

मैंने नियंत्रण के पात्रों को नष्ट करके एक अलग समाधान बनाया है, जो मेरी मूल समस्या थी

यह सभी "विशेष लेकिन अच्छे" वर्णों को सूची में डालने से बेहतर है

 char[] arr = str.Where(c => !char.IsControl(c)).ToArray(); str = new string(arr); 

यह आसान है, इसलिए मुझे लगता है कि यह बेहतर है!

कुछ जल्दी करना चाहते हैं?

 public static class StringExtensions { public static string ToAlphaNumeric(this string self, params char[] allowedCharacters) { return new string(Array.FindAll(self.ToCharArray(), c => char.IsLetterOrDigit(c) || allowedCharacters.Contains(c))); } } 

इससे आपको यह निर्दिष्ट करने की अनुमति होगी कि आप कौन से पात्रों को भी अनुमति देना चाहते हैं

रेगेक्स के साथ एक बहुत आसान तरीका है

 private string FixString(string str) { return string.IsNullOrEmpty(str) ? str : Regex.Replace(str, "[\\D]", ""); } 

मैं जवाब में से एक के भिन्नता का उपयोग करता हूं I मैं अपने एसईओ दोस्ताना के साथ रिक्त स्थान को बदलना चाहता हूं और कम केस भी बना रहा हूं। मेरी सेवाओं की परत से संदर्भ प्रणाली भी नहीं।

 private string MakeUrlString(string input) { var array = input.ToCharArray(); array = Array.FindAll<char>(array, c => char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-'); var newString = new string(array).Replace(" ", "-").ToLower(); return newString; }