从字符串 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();
这将分别从每个标签中删除受限字符。
我从视图中得到了一个字符串 ["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();
这将分别从每个标签中删除受限字符。