2010-01-11 14 views
5

त्वरित प्रश्न। मेरे पास एक सूची सूची से एक सूची बॉक्स आबादी है। प्रत्येक फ़ाइल में इसका नाम होता है और ~ #####। मैं इसे सब एक स्ट्रिंग में पढ़ने की कोशिश कर रहा हूं और ~ #### को कुछ भी नहीं बदल सकता हूं। #### लंबाई 1-6 से अंक हो सकता है और 0-9 से कुछ भी हो सकता है। यहाँ कोड मैं का उपयोग कर रहा है:सी # स्ट्रिंग प्रतिस्थापन प्रश्न

string listItem = (listBox1.SelectedItem.ToString().Replace("~*","")); 

उदाहरण:

Here223~123 ---> Here 
Here224~2321 ----> Here 

मैं क्योंकि मैं ~

उत्तर

4

के बारे में क्या करना चाहिए:

string listItem = 
     listBox1.SelectedItem.ToString().Substring(0, 
      listBox1.SelectedItem.ToString().IndexOf("~")); 
+0

मैन, मैंने मुख्य रूप से आपको 9, 9 0 9 से 10k तक पहुंचने के लिए वोट दिया। लेकिन ऐसा लगता है कि आपने आज के लिए टोपी मारा है। :-) – Tomalak

+0

@ टोमालाक, मैंने आज ही 232 अंक बनाये हैं; आपको एक स्वीकृत उत्तर प्राप्त करना मुश्किल होता है जब आपको एक की आवश्यकता होती है =) –

12

से पहले नंबर की जरूरत का प्रयास करें किसी भी संख्या को बदल नहीं सकते

listItem.Split("~")[0] 

यह आपको तारों की सरणी में पहली स्ट्रिंग देना चाहिए, इस तरह आप उसके बाद टिल्ड और पिछली स्ट्रिंग खो चुके हैं।

6

string listItem = Regex.Replace(listBox1.SelectedItem.ToString(), "~[0-9]{1,6}", string.Empty);

चाल (आप ~ से बचने के लिए, हालांकि अगर याद नहीं कर सकते!)

+0

मैं regex करने के लिए प्यार होता है, लेकिन मैं नहीं कर सकते यह संकलित करने के लिए मिलता है। ऐसा लगता है कि " –

+0

" से शुरू होने वाली एक नई लाइन है, रेगेक्स सामान्य रूप से न्यूलाइन ('\ n के) के साथ बहुत अच्छी है। रेगेक्स भी इस तरह की समस्याओं के लिए आपके शस्त्रागार में एक अच्छा टूल है, विशेष रूप से वे अधिक जटिल होते हैं, स्प्लिट के रूप में काफी विशिष्ट नहीं है। –

+0

@ माइक, बस एक लापता '' '; इसे फिर से प्रयास करें –

4

आप में प्रयोग करने की बेहतर हो सकता है (int startIndex, int lenght) विधि:

string listItem = listBox1.SelectedItem.toString(); 
listItem = listitem.SubString(0, listItem.IndexOf("~")); 
1

मुद्दा यह है कि string.replace नियमित अभिव्यक्ति

तो या तो विभाजन पर क्या करता है नहीं "~", या का उपयोग regex है

संबंधित मुद्दे