迭代字符串数组并替换(如果存在)

时间:2013-11-18 20:44:31

标签: c# arrays linq

我正在尝试迭代一个字符串数组并检查/替换输入字符串中是否存在任何字符串。使用LINQ,这是我到目前为止。

string input = "/main/dev.website.com"
string[] itemsToIgnore = { "dev.", "qa.", "/main/" };
string website = itemsToIgnore
                    .Select(x => 
                           { x = input.Replace(x, ""); return x; })
                    .FirstOrDefault();

当我运行它时,实际上什么都没发生,我的输入字符串保持不变?

1 个答案:

答案 0 :(得分:5)

string website = itemsToIgnore
                   .Aggregate(input, (current, s) => 
                         current.StartsWith(s) ? current.Replace(s, string.Empty) : current);

没有Linq

foreach (var part in itemsToIgnore) 
{
  if (website.StartsWith(part))
  {
    website = website.Replace(part, string.Empty);
  }
}