2014-11-01 80 views
-1

對不起,我的英文不好。 所以我有一個問題。我的需要是替換字符串數組的每個字符串中的特定字符。每一個變化都必須是唯一的問題是該數組包含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個元素與此字符串。然後我必須替換或更改每個字符串中的某些字符。替換不得重複,每個字符串必須是唯一的,但不應該與初始字符串有很大的區別。我需要這個爲我的進一步工作。

+0

我相信你的問題還不清楚。請提供更多的代碼來獲取上下文。並採樣所需的輸入/輸出。 – 2014-11-01 11:41:32

+0

我有包含10000個相同的字符串的字符串數組。在每個字符串中,我必須放置一些字符。每個替換必須是唯一的。 – stk213 2014-11-01 11:45:00

回答

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(); 
}