2009-10-20 6 views
9

क्या स्ट्रिंग में पहले 2 और अंतिम 2 वर्णों को निकालने का कोई आसान तरीका है?स्ट्रिंग में पहले दो और पिछले दो वर्णों को कैसे निकालें?

\nTESTSTRING\n 

कैसे मैं आसानी से उन्हें नष्ट कर सकते हैं:

मैं इस स्ट्रिंग है?

myString.Trim(); 
+2

आपका प्रश्न गलत है। "\ n" एक char है (नीचे एक टिप्पणी में भी उल्लेख किया गया है)। –

+0

... जब तक कि यह न केवल \ n चरित्र है बल्कि वास्तव में \ r \ n वर्ण संयोजन जिसे गैर-* निक्स सिस्टम पर लाइन ब्रेक के रूप में उपयोग किया जाता है। – Guffa

+0

यदि आप केवल \ n वर्णों को निकालना चाहते हैं जिन्हें आप उपयोग कर सकते हैं: 'str.Replace (' \ n ',' '); ' –

उत्तर

46
str = str.Substring(2,str.Length-4) 

बेशक आप परीक्षण करना चाहिए कि स्ट्रिंग ऐसा करने से पहले 4 से अधिक वर्ण शामिल हैं:

+0

यह पूछे जाने वाले प्रश्न का सही उत्तर है, लेकिन ऐसा लगता है जैसे ओपी को यह नहीं पता कि \ n एक नई लाइन के लिए भागने वाला है। –

+0

पहला भाग मेरे उपयोग के लिए सही है। दूसरा एक लागू नहीं है क्योंकि मैं इसे HTML पर उपयोग कर रहा हूं, और .rim() का उपयोग करके व्हाइटस्पेस को बिल्कुल हटा नहीं देता है। –

+1

@ मॅनू सबस्ट्रिंग सबस्ट्रिंग होना चाहिए। – MobileMon

5

तुम कोशिश किया। इसके अलावा आपके मामले में ऐसा लगता है कि \ n एक नया न्यूलाइन चरित्र है। आप सभी प्रमुख और व्हाइटस्पेस अनुगामी को दूर किया जाता है क्या करना चाहते हैं, तो आप का उपयोग करना चाहिए

str.Trim() 

के रूप में चार्ल्स द्वारा

+3

\ n एक char है। –

2
myString = myString.SubString(2, myString.Length - 4); 
+1

'लंबाई <4' के लिए चेक की आवश्यकता है। –

+0

(myString == ESTSTRIN) == सच –

6
// Test string 
var str = "\nTESTSTRING\n"; 

// Number of characters to remove on each end 
var n = 2; 

// Slimmed string 
string slimmed; 

if (str.Length > n * 2) 
    slimmed = str.Substring(n, str.Length - (n * 2)); 
else 
    slimmed = string.Empty; 

// slimmed = "ESTSTRIN" 
0

Papuccino1,

आप इस तरह एक विस्तार विधि बनाते हैं सुझाव:

public static class StringEnumerator { 

    public static IEnumerable<String> GetLines(this String source) { 
     String line = String.Empty; 
     StringReader stringReader = new StringReader(source); 

     while ((line = stringReader.ReadLine()) != null) { 
      if (!String.IsNullOrEmpty(line)) { 
       yield return line; 
      } 
     } 
    } 
} 

आपका कोड सरलीकृत किया जाएगा और सुरक्षित होगा (खतरनाक सूचकांक के आधार पर नहीं):

class Program { 

    static void Main(string[] args) { 
     String someText = "\nTESTSTRING\n"; 
     String firstLine = someText.GetLines().First(); 
    } 
} 

मुझे आशा है कि इस मदद करता है,

रिकार्डो लासेर्डा Castelo Branco

0
public string RemoveFirstCharFromString(string Text) 
    { 
     string[] arr1 = new string[] { "The ", "A " }; 

     string Original = Text.ToLower(); 
     if (Text.Length > 4) 
     { 
      foreach (string match in arr1) 
      { 
       if (Original.StartsWith(match.ToLower())) 
       { 
        //Original = Original.Replace(match.ToLower(), "").TrimStart(); 
        Original = Original.Replace(Original.Substring(0, match.Length), "").TrimStart(); 
        return Original; 
       } 
      } 
     } 
     return Original; 
    } 
0
string Origional = TextBox1.Text.Replace(TextBox1.Text.Substring(0, 2), ""); 
Origional += Origional.Replace(Origional.Substring((Origional.Length - 2), 2), ""); 
+1

आमतौर पर कुछ कोड – Tivie

+0

चिपकाने के बजाय कुछ अतिरिक्त स्पष्टीकरण प्रदान करने में सहायक होता है मूल मूल नहीं होना चाहिए? मैं संपादित नहीं कर सकता, क्योंकि मैं अभी भी 6-वर्ण सीमा के अधीन हूं। – WEFX

0

Substring और Remove तरीकों के साथ इसका सरल, this link में विस्तृत रूप में:

string mystring = "122014"; 

mystring = mystring.Substring(mystring.Length - 4); 
Response.Write(mystring.ToString()); 

//output:2014 


mystring = "122014"; 
string sub = mystring.Remove(mystring.Length - 4); 
Response.Write("<br>"); 
Response.Write(sub.ToString()); 

//output: 12 
संबंधित मुद्दे