मैं नियमित रूप से अभिव्यक्तियों में पूरी तरह असमर्थ हूं, और इसलिए मुझे किसी समस्या के साथ कुछ मदद चाहिए जो मुझे लगता है कि नियमित अभिव्यक्तियों का उपयोग करके सबसे अच्छा हल किया जाएगा।Regex?
मैं सी # में तार की सूची है:
List<string> lstNames = new List<string>();
lstNames.add("TRA-94:23");
lstNames.add("TRA-42:101");
lstNames.add("TRA-109:AD");
foreach (string n in lstNames) {
// logic goes here that somehow uses regex to remove all special characters
string regExp = "NO_IDEA";
string tmp = Regex.Replace(n, regExp, "");
}
मैं कोई विशेष वर्ण के बिना प्रत्येक आइटम वापस सूची पर पाश करने में सक्षम हो सकता है और की जरूरत है। उदाहरण के लिए, आइटम एक "TRA9423" होगा, आइटम दो "TRA42101" होगा और आइटम तीन TRA109AD होगा।
क्या कोई नियमित अभिव्यक्ति है जो मेरे लिए यह पूरा कर सकती है?
इसके अलावा, सूची में 4000 से अधिक आइटम हैं, इसलिए मुझे खोज की आवश्यकता है और यदि संभव हो तो त्वरित और त्वरित हो।
संपादित करें: मुझे यह निर्दिष्ट करना चाहिए था कि मेरे परिस्थिति में ए-जेड, ए-जेड और 0-9 के बगल में कोई भी चरित्र विशेष है।
4000 आइटम की एक बहुत छोटी संख्या है। यह इतना महत्वपूर्ण क्यों है कि उत्तर पढ़ने योग्य और रखरखाव के बजाय उत्तर कुशल और त्वरित है? क्या आपने यहां एक प्रदर्शन मुद्दा मापा है? –
@ मार्क - यह मेरी अज्ञानता दिखा रहा है, मुझे लगता है। 4000 मुझे बहुत कुछ लगता है, लेकिन मैं स्पष्ट रूप से गलत हूँ। मैंने कोई बेंचमार्क नहीं किया है, लेकिन रेगेक्स वैसे भी बहुत तेज़ प्रतीत होता है, इसलिए मुझे नहीं लगता कि मुझे कुछ भी तेज करने के साथ गड़बड़ करने की ज़रूरत है। मैं वास्तव में अपने उदाहरण को थोड़ा सा सरल बना दूंगा, क्योंकि मैं अपने प्रश्न को निर्विवाद रूप से दृढ़ता से नहीं करना चाहता था। मेरे पास वास्तव में जटिल वर्ग वस्तुओं की एक सूची है, और मैं सभी मैचों को खोजने के लिए एक प्रतिनिधि समारोह के साथ .FindAll का उपयोग कर रहा हूं। Regex मेरी कक्षा पर एक संपत्ति में खेलने के लिए आता है जो प्रतिनिधि समारोह के लिए एक निश्चित स्ट्रिंग में हेरफेर करने के लिए regex का उपयोग करता है। – Jagd
आपकी मदद के लिए सभी को धन्यवाद! क्या यह सब आपके जैसे प्रतिभाओं के लिए इस तरह के आसान थे। : डी – Jagd