किसी भी विशेष अक्षर सी # से पहले वर्ण हटाएं

मैं अक्षरों को किसी भी गैर-अल्फान्यूमेरिक वर्णों में स्ट्रिंग को हटाने की कोशिश कर रहा हूं। उदाहरण के लिए, कहें कि आपके पास "जेम्स एबैंक-ब्लेक" नाम है, मैं इसे उपयोग करके एक सरणी में विभाजित कर सकता हूं:

var s = "James Ebanks-Blake".Split(' ');

यहां तक ​​कि यदि एक से अधिक स्थान हैं, तो यह केवल अधिक सरणी अनुक्रमणिका बना देगा। तो मुझे क्या करना है सभी सरणी के माध्यम से लूप है, एक विशेष चरित्र के साथ इंडेक्स ढूंढें, फिर सभी इंडेक्स और विशेष चरित्र को हटा दें।

क्या कोई मेरी सहायता कर सकता है?

0
जोड़ा संपादित
विचारों: 1
मैं केवल इस मामले में "ब्लेक" प्राप्त करना चाहता हूं। तो विशेष पात्र वे होंगे जो z या किसी भी अंक के माध्यम से नहीं हैं। इस रूप में, वही कोड काम करेगा यदि व्यक्ति का नाम स्कारलेट ओहारा था। (जो "हर" उत्पन्न करेगा, और यह मामूली हो सकता है, ऐसे मामले हैं जहां यह प्रासंगिक होगा ...
जोड़ा लेखक GenXisT, स्रोत
हाँ! मैं देर से (एलओएल) संपादित
जोड़ा लेखक GenXisT, स्रोत
उपरोक्त का आपका अपेक्षित आउटपुट क्या है? "ब्लेक"? आप "विशेष" चरित्र पर क्या विचार करते हैं?
जोड़ा लेखक Cᴏʀʏ, स्रोत
तो आप स्कार्लेट उदाहरण से सिर्फ "हारा" की अपेक्षा करेंगे?
जोड़ा लेखक Cᴏʀʏ, स्रोत

2 उत्तर

यह यहाँ काम करता है

[-^$#](.*)

बस चरित्र वर्ग के अंदर विशेष वर्णों को आप जो जोड़ते हैं उसे जोड़ें

जो स्ट्रिंग आप चाहते हैं वह समूह 1 में होगी

resultString = Regex.Match(subjectString, "[-^$#](.*)", RegexOptions.Singleline).Groups[1].Value;
0
जोड़ा
स्कार्लेट ओहारा संस्करण पर जब मैंने कोशिश की तो यह काम करने लगता है। मैं कोई परिणाम नहीं देता हूं। ऐसा लगता है कि रेगेक्स को थोड़ा चिमटा चाहिए। (मुझे पता नहीं है कि रेगेक्स अभिव्यक्ति में क्या चल रहा है)।
जोड़ा लेखक GenXisT, स्रोत
ठीक है ... मुझे अब मिल गया ... "चरित्र वर्ग" ब्रैकेट के अंदर है ... इसलिए मैंने वहां 'जोड़ा और यह काम किया! बहुत बढ़िया। बहुत बहुत धन्यवाद!!
जोड़ा लेखक GenXisT, स्रोत
बस [और] के बीच चरित्र वर्ग के अंदर विशेष रूप से जो कुछ आप विशेष मानते हैं उसे जोड़ें। तो स्कारलेट ओहारा के लिए आपको एकल उद्धरण जोड़ने की जरूरत है 'और यह [- ^ $ #'] बन जाता है
जोड़ा लेखक buckley, स्रोत
हाँ अच्छा एक :)
जोड़ा लेखक buckley, स्रोत

[-] (। *)

उसे - और ' के बाद कुछ भी लेना चाहिए। यदि आप चाहते हैं, तो आप [] सेक्शन में और अक्षर जोड़ सकते हैं। बस विशेष regex वाले से बचने के लिए सुनिश्चित करें।

0
जोड़ा