更改大字符串数组中的特定字符

时间:2014-11-01 11:23:54

标签: c# arrays string

抱歉我的英语不好。 所以我有一个问题。我需要替换字符串数组的每个字符串中的特定字符。每一次变革都必须是独特的问题是该数组包含10000个元素。我只知道如何更改特定元素范围内的符号,但我无法弄清楚如何正确使用循环来执行此操作。这是我到目前为止所提出的:

String str1 = "String that contains 100+ symbols";
StringBuilder strBuilder = new StringBuilder(str1);
var replace = strBuilder.Replace('a', 'b').ToString();
stringArray = (from i in Enumerable.Range(0, 500) select replace).ToArray();

好吧,我说。我有一个字符串,然后我必须用这个字符串填充一个包含10000个元素的数组。然后我必须更换或更改每个字符串中的一些字符。替换不得重复,每个字符串必须是唯一的,但不应与初始字符串有很大的差异。我需要这个用于我的进一步工作。

1 个答案:

答案 0 :(得分:0)

您可以将替换值作为键值对存储到Dictionary中,并通过迭代对来应用每个替换:

var replacements = new Dictionary<char, char>();
replacements.Add('a', 'b');
// add other pairs...

for(int i = 0; i < stringArray.Length; i++)
{
    var sb = new StringBuilder(stringArray[i]);
    foreach(var kvp in replacements)
    {
        sb.Replace(kvp.Key, replacements[kvp.Key]);
    }
    stringArray[i] = sb.ToString();
}