1

我正在尝试从字符串中删除一些特殊字符。我有以下字符串

[_fesd][009] Statement

我想摆脱所有 '_' '[' 和 ']' 我设法用 TrimStart 删除了第一个字符,我得到了 fesd][009] 声明

我应该如何从字符串中间删除特殊字符?

目前我使用以下代码

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

其中 str 是应操作的字符串,结果应存储在 newStr

4

5 回答 5

6
string newStr = str.Replace("[", "").Replace("]", "").Replace("_", "");
于 2013-02-22T16:26:11.840 回答
1
var newStr = Regex.Replace("[_fesd][009] Statement", "(\\[)|(\\])|(_)", string.Empty);
于 2013-02-22T16:38:19.083 回答
0

使用 string.Replace 和 string.Empty 作为要替换的字符串。

于 2013-02-22T16:27:27.493 回答
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
}
于 2013-02-22T16:31:09.067 回答
0
var chars = new Char[] { '[', ']', '_' };
var newValue = new String(str.Where(x => !chars.Contains(x)).ToArray());
于 2013-02-22T16:33:27.943 回答