2010-08-17 9 views
28

से रिक्त स्थान अनुगामी दूर करने के लिए कैसे मैं निम्नलिखित इनपुट:प्रमुख और एक स्ट्रिंग

string txt = "     i am a string         " 

मैं एक स्ट्रिंग से प्रारंभ और समाप्ति की शुरू से ही अंतरिक्ष निकालना चाहते हैं।

परिणाम होना चाहिए: "i am a string"

मैं कैसे ग # में ऐसा कर सकते हैं?

उत्तर

68

String.Trim

वर्तमान स्ट्रिंग ऑब्जेक्ट से सभी प्रमुख और अनुगामी white-space वर्ण निकालता है।

उपयोग:

txt = txt.Trim(); 

इस तो काम नहीं कर रहा बात की काफी संभावना है कि "रिक्त स्थान" रिक्त स्थान है, लेकिन कुछ अन्य गैर मुद्रण या सफेद स्थान चरित्र, संभवतः टैब नहीं हैं।

char[] charsToTrim = { ' ', '\t' }; 
    string result = txt.Trim(charsToTrim); 

Source

आप के रूप में इस सूची में जोड़ सकते हैं और है कि अपने इनपुट में हैं जब आप वर्ण की तरह भर में और अधिक स्थान आते हैं: इस मामले में आप String.Trim तरीका है जिसके पात्रों में से एक सरणी लेता उपयोग करने की आवश्यकता डेटा। अपने डेटाबेस या कॉन्फ़िगरेशन फ़ाइल में वर्णों की इस सूची को संग्रहीत करने का अर्थ यह भी होगा कि जब भी आप किसी नए चरित्र को देखने के लिए आते हैं तो आपको अपने एप्लिकेशन को पुनर्निर्माण करने की आवश्यकता नहीं होती है।

1

प्रयोग की जाने वाली ट्रिम विधि का उपयोग करें है।

16

आप उपयोग कर सकते हैं:

  • String.TrimStart - वर्तमान स्ट्रिंग वस्तु से एक सरणी में निर्दिष्ट पात्रों में से एक सेट के सभी प्रमुख घटनाओं को निकालता है।
  • String.TrimEnd - मौजूदा स्ट्रिंग ऑब्जेक्ट से किसी सरणी में निर्दिष्ट वर्णों के सेट की सभी पिछली घटनाओं को हटा देता है।
  • String.Trim - ऊपर

प्रयोग दो कार्यों के संयोजन:

string txt = "     i am a string         "; 
char[] charsToTrim = { ' ' };  
txt = txt.Trim(charsToTrim)); // txt = "i am a string" 

संपादित करें:

txt = txt.Replace(" ", ""); // txt = "iamastring" 
4

या आप स्ट्रिंग सरणी के लिए अपने स्ट्रिंग विभाजित कर सकते हैं, बंटवारे अंतरिक्ष द्वारा और फिर स्ट्रिंग सरणी के प्रत्येक आइटम को खाली करने के लिए जोड़ें स्ट्रिंग।
यह सबसे अच्छा और सबसे तेज़ तरीका नहीं हो सकता है, लेकिन यदि आप अन्य जवाब नहीं चाहते हैं तो आप कोशिश कर सकते हैं।

+0

इस रिक्त स्थान है कि शुरुआत या स्ट्रिंग के अंत में नहीं हैं की जगह के लिए काम करता है। – levininja

0
static void Main() 
    { 
     // A. 
     // Example strings with multiple whitespaces. 
     string s1 = "He saw a cute\tdog."; 
     string s2 = "There\n\twas another sentence."; 

     // B. 
     // Create the Regex. 
     Regex r = new Regex(@"\s+"); 

     // C. 
     // Strip multiple spaces. 
     string s3 = r.Replace(s1, @" "); 
     Console.WriteLine(s3); 

     // D. 
     // Strip multiple spaces. 
     string s4 = r.Replace(s2, @" "); 
     Console.WriteLine(s4); 
     Console.ReadLine(); 
    } 

उत्पादन:

वह एक प्यारा कुत्ता देखा। एक और वाक्य था। उसने एक प्यारा कुत्ता देखा।

6

मैं वास्तव में कुछ हुप्स को समझ नहीं पा रहा हूं, अन्य उत्तरों के माध्यम से कूद रहे हैं।

var myString = " this is my String "; 
var newstring = myString.Trim(); // results in "this is my String" 
var noSpaceString = myString.Replace(" ", ""); // results in "thisismyString"; 

यह रॉकेट विज्ञान नहीं है।

-2

आप

string txt = "     i am a string         "; 
txt = txt.TrimStart().TrimEnd(); 

आउटपुट उपयोग कर सकते हैं "मैं एक स्ट्रिंग हूँ"

+0

@john: पुराने प्रश्नों का उत्तर देने से प्रतिष्ठा प्राप्त करने की कोशिश करने में कुछ भी गलत नहीं है, जब तक कि उत्तर * अच्छे * हों। –

+1

@NathanTuggy वास्तव में। क्षमा करें अगर मैं इसके अलावा कुछ भी लागू करने के रूप में आया था। मेरी टिप्पणी वापस पढ़ना अब यह बल्कि कंबल ध्वनि करता है। बेशक पुराने प्रश्नों के लिए अच्छे एवर ठीक हैं। – john

+0

@john: मुझे प्रतिष्ठा की उम्मीद नहीं है। अगर आपको ट्रिम की जरूरत है तो समाधान क्या है? यही कारण है कि मैं यहां उल्लेख करता हूं। किसी भी असुविधा के लिए क्षमा करें। –

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