从字符串 C# 中删除特定字符

Remove specific characters from string C#

我从视图中得到了一个字符串 ["foo","bar","buzz"],我想删除 [,"&,]
我使用了 string x = tags.Trim(new Char[] { '[', '"', ']' }); 但我得到的输出是 foo","bar","buzz 而不是 foo,bar,buzz

我试过了Trimming & this 但仍有问题。

正则表达式的力量!

var x = Regex.Replace(tags, @"(\[|""|\])", "");

或者,您可以使用 "simple" Replace

string x = tags.Replace("[","")
               .Replace("\"","")
               .Replace("]","");

速度不快,但是很简单。

如果您需要更高的性能,您应该使用替代方案。


请注意: 每次 Replace 都会调用 returns 一个新字符串,并且每次调用都会重新评估整个字符串。尽管我自己经常使用它(由于可读性),但不建议将其用于复杂的模式或非常长的字符串值

就我个人而言,我会改变你的操作顺序。例如

String[] unformattedTags = tags.Split(',');
String[] formattedTags = unformattedTags.Select(itm => itm.Trim( '[','"',']')).ToArray();

这将分别从每个标签中删除受限字符。