2014-12-27 99 views

回答

9
string s = "This is string"; 
s = s.Remove(2, 1); 

輸出:Ths is string

1st parameter是要刪除的性格和第二個參數的starting index是要刪除

number of character
0

你可以使用這個Remove方法:

public static class MyStringExtensions 
{ 
    public static string RemoveAt(this string s, int index) 
    { 
     return s.Remove(index, 1); 
    } 
} 

用法:

string s = "This is string"; 
s = s.RemoveAt(2); 
1

你可以使用正則表達式也。

Console.WriteLine(Regex.Replace("This is string", @"(?<=^.{2}).", "")); 

這將從一開始就刪除第三個字符。

DEMO

+0

對於這種情況,正則表達式是矯枉過正的。 – 2014-12-27 16:41:35

+0

同意正則表達式是一種矯枉過正。我認爲歐普正在尋求可能性。 – 2014-12-27 16:44:35

+1

...好的是,這對我認爲幾乎所有的編程語言都有效。我不知道它太酷了,你也發佈了這個可能性。 – t3chb0t 2014-12-27 17:31:39

5

正如許多人說過,有一個Remove方法。其他文章沒有解釋的是C#中的字符串是不可變的 - 你不能改變它們。

當您撥打Remove時,它實際上會返回一個新字符串;它不會修改現有的字符串。您需要確保抓取Remove的輸出並將其分配給一個變量或將其返回...僅僅調用Remove就不會更改該字符串。