2016-07-25 51 views
-2

我有一个字符串,我想通过替换它的不同部分来更改为新版本。
比方说,我有这个字符串:C# - 一次替换字符串的两个不同部分

My=name,My=surname 

,我要返回:

name.surname 

所以我想取代我的两个与"",.。可能吗?

+2

是这个vb或c#? – BugFinder

+1

名称或姓氏是否有可能包含子字符串“我的”? – Steve

+1

VB和C#是不同的语言 – user1666620

回答

7
str = str.Replace("My=", "").Replace(",", "."); 
1

那么,如果你能保证名字或姓氏都不包含字符串“我的”,那么Tim的回答是正确的。但是,如果“姓名”或“姓氏”包含字符串“我的”更复杂

string input = "My=Steve,My=Myland"; 

StringBuilder sb = new StringBuilder(); 
string[] parts = input.Split(','); 
foreach (string p in parts) 
{ 
    string[] subs = p.Split('='); 
    sb.Append(subs[1] + "."); 
} 
if(sb.Length > 0) sb.Length--; 
Console.WriteLine(sb.ToString()); 
+1

蒂姆替换'“我的=”不只是我的,有人有他的名字或姓氏的机会很小 – Sehnsucht

+0

@Sehnsucht是我同意你,我写了这个答案只是为了显示一个替代方式和Tim的初稿后回答。现在,我姓氏的机会几乎不存在,但无论如何... – Steve

+0

也许只是使用Regex.Replace会删除一些样板(它在内部使用StringBuilder)? – Sehnsucht