2013-02-22 389 views
1

我想從字符串中刪除一些特殊字符。 我有以下字符串操縱字符串

[_fesd][009] Statement 

,我想擺脫所有的「_」「[」和「]」 我設法刪除與TrimStart的第一個字符,我得到FESD] [009]聲明

我應該如何從字符串中刪除特殊字符?使用下面的代碼

string newStr = str.Trim(new Char[] { '[', ']', '_' }); 

其中str是應該manupulated和結果應存放在中newstr

+0

我對正則表達式的隊友讀了。 (常用表達)。最簡單的方式來做這樣的事情。 – Derek 2013-02-22 16:27:05

+0

請更新您的標題與您的具體問題.. – 2013-02-22 16:27:11

+0

如果性能是一個考慮因素,您可能想要查看此答案:http://stackoverflow.com/questions/11899668/replacing-multiple-characters-in-a-string-該快的路 – 2013-02-22 16:30:49

回答

6
string newStr = str.Replace("[", "").Replace("]", "").Replace("_", ""); 
0

使用與與string.replace作爲的String.Empty的〜應變

目前林要替換的字符串。

0

你可以使用Linq它:

static void Main(string[] args) 
{ 
    var s = @"[_fesd][009] Statement"; 
    var unwanted = @"_[]"; 

    var sanitizedS = s 
     .Where(i => !unwanted.Contains(i)) 
     .Aggregate<char, string>("", (a, b) => a + b); 

    Console.WriteLine(sanitizedS); 
    // output: fesd009 Statement 
} 
0
var chars = new Char[] { '[', ']', '_' }; 
var newValue = new String(str.Where(x => !chars.Contains(x)).ToArray()); 
1
var newStr = Regex.Replace("[_fesd][009] Statement", "(\\[)|(\\])|(_)", string.Empty);