2011-06-21 88 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