2009-10-20 96 views
9

有沒有簡單的方法來刪除字符串中的前2個和後2個字符?如何刪除字符串中的前兩個和後兩個字符?

我有這個字符串:

\nTESTSTRING\n 

我怎麼能輕易刪除呢?

+2

你的問題是錯誤的。 「\ n」是一個字符(也在下面的註釋中註明)。 – 2009-10-20 22:09:52

+0

......除非它不僅是\ n字符,而且實際上是在非* nix系統上用作換行符的\ r \ n字符組合。 – Guffa 2009-10-20 22:23:04

+0

如果你只是想刪除\ n字符,你可以使用:'str.Replace('\ n','');' – 2017-05-15 08:55:20

回答

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

當然你必須測試該字符串包含在此之前超過4個字符。同樣在你的情況下,\ n是單個換行符。如果你想要做的就是除去開頭和結尾的空格,你應該使用

str.Trim() 

由查爾斯

+0

這是問題的正確答案,但它聽起來像OP沒有意識到\ n是換行符的換碼符。 – 2009-10-20 22:11:57

+0

第一部分對我的使用是正確的。第二個不適用,因爲我在HTML上使用它,並且使用.Trim()根本不會刪除空白。 – 2009-10-20 22:15:45

+1

@Manu子串應該是子串。它太小了我編輯提交 – MobileMon 2014-01-20 20:06:00

5

你嘗試:

myString.Trim(); 
+3

\ n是一個字符。 – 2009-10-20 22:07:38

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

需要檢查「長度<4」。 – 2009-10-20 22:09:02

+0

(myString == ESTSTRIN)== true – 2009-10-20 22:09:25

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(); 
    } 
} 

我希望這有助於

裏卡多·拉塞爾達布朗庫堡

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 2012-11-15 13:13:32

+0

不應該是原創?我無法編輯,因爲我仍然不超過6個字符的限制。 – WEFX 2012-11-15 13:14:54

0

其簡單與SubstringRemove方法,如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 
相關問題