正确的做法是什么?
检查是否存在,然后删除?
var input = "foo #main baa";
if(input.Contains("#main")) {
input = input.Replace("#main", "");
}
要不就:
input = input.Replace("#main", "");
好吧,这似乎是一个简单的问题,但我真的很想知道。
提前致谢。
最佳答案
Contains
检查实际上只会使您的代码变慢。
去掉它。Contains
调用需要遍历字符串,直到找到#main
。
然后,Replace
调用需要执行相同的精确循环(无法通过Contains
调用记住它)。
这是Shlemiel the Painter's algorithm。Replace
可以处理出现零个或多个搜索字符串的字符串,因此您不需要进行检查。
关于c# - 关于在C#中删除字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7863663/