Replace a substring in each element of a string ar

2019-03-02 14:25发布

问题:

Hey, I have an array of strings and I want to replace a certain substring in each of those elements. Is there an easy way to do that besides iterating the array explicitly?

Thanks :-)

回答1:

You could iterate the array implicitly

arrayOfStrings = arrayOfStrings.Select(s => s.Replace("abc", "xyz")).ToArray();


回答2:

Ultimately, anything you do is going to do exactly that anyway. A simple for loop should be fine. There are pretty solutions involving lambdas, such as Array.ConvertAll / Enumerable.Select, but tbh it isn't necessary:

for(int i = 0 ; i < arr.Length ; i++) arr[i] = arr[i].Replace("foo","bar");

(the for loop has the most efficient handling for arrays; and foreach isn't an option due to mutating the iterator variable)