我正在尝试找到一种优雅的方法来从单个字符串中删除列表中包含的数据。下面显示了一个简单的完整示例,但它不起作用:
private string removeWebSuffixes()
{
string siteName="someSite.com";
List<string> siteNames=new List<string>{siteName};
List<string> domainSuffixes=new List<string>{".net",".com",".gov"};
domainSuffixes.ForEach(x=>siteName.Replace(x,""));
return siteName;//actually, should return result of siteName.replace statement
}
我认为这个例子不起作用,因为替换语句没有返回任何值,但我已经包含它,因为我认为它清楚地传达了我想要完成的任务。
我打赌很容易做到这一点(我不是指 foreach 循环),但我没有看到它。然而。
最佳答案
Replace()
实际上并不更改字符串。如果要保留更改,则需要将返回值写回原始字符串:
domainSuffixes.ForEach(x => siteName = siteName.Replace(x, ""));
关于c# - 删除列表中找到的字符串部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17100157/