2011-06-21 83 views
1

我有一個字符串數組,並且想從該數組中替換一個值。替換字符串數組中的項

例子:

string[] stud = new[] {"1","12","Mark","M"}; 
string[] otherStud = new [] {"2","16","MarkMark","F"}; 

我想更換MarkTom,那麼結果應該是

結果:

string[] stud = new [] {"1","12","Tom","M"}; 
string[] otherStud = new [] {"2","16","TomTom","F"}; 

請提出任何解決方案。

感謝

+1

這是沒有有效的代碼。 –

+0

@Daniel Hilgarth。現在它是。 – Jehof

回答

0

使用for和循環使用String.Replace。你應該能夠弄清楚它應該看起來如何。 :)

+0

我已經這樣做了,但我在用「TomTom」取代「MarkMark」時出現問題 – usr021986

+1

Replace對所有舊字符串的實例都有效,所以如果你這樣使用它:''MarkMark「.Replace(」Mark「,」湯姆「)'那麼你會得到''TomTom」'。順便說一句,替換不會改變字符串,它會返回新的。 –

0

可以使用的foreach遍歷字符串數組,可替代所要求的字符串

0
string[] stud = { "1", "12", "Mark", "M", "2", "16", "MarkMark", "F" }; 
for (int i = 0; i < stud.Length; ++i) 
    stud[i] = stud[i].Replace("Mark", "Tom"); 
+0

第二個結果將返回爲「湯姆」,但我想它作爲「TomTom」 – usr021986

+0

如果只有你運行它,你會看到它返回「TomTom」:) –

+0

我已經運行它......它讓我只有湯姆 – usr021986

9
stud = stud.Select(s => s.Replace("Mark","Tom")).ToArray(); 
-2

stud.Select(x => x != "Mark" ? x : "Tom");

+3

這不適用於「MarkMark」至「TomTom」 –

+1

@Chony,您的解決方案過於複雜。 –

1
string[] stud = {"1", "12", "Mark", "M"}; 
     for (int i = 0; i < stud.Count(); i++) 
     { 
      stud[i] = stud[i].Replace("Mark", "Tom"); 
     } 
+0

但是對於「MarkMark」,它應該重新調用「TomTom」 – usr021986