2016-07-25 2 views
-2

다른 부분을 교체하여 새로운 버전으로 바꾸고 싶은 문자열이 있습니다.
의 난이 문자열을 있다고 가정 해 봅시다 :C# - 한 번에 두 문자열의 다른 부분을 교체하십시오.

My=name,My=surname 

그리고 난 반환 할 :

name.surname 

그래서 난 대체 할 모두 내 ."",와. 가능한가?

+2

이 vb 또는 C#입니까? – BugFinder

+1

이름이나성에 하위 문자열 "My"가 포함되어있을 가능성이 있습니까? – Steve

+1

VB와 C#이 서로 다른 언어입니다. – user1666620

답변

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

글쎄, 이름이나성에 "My"라는 문자열이 없다는 것을 보장 할 수 있다면 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

Tim은 My를 "My ="'로 바꿉니다. 누군가 그 사람의 이름이나성에 그럴 가능성이 있습니다. – Sehnsucht

+0

@Sehnsucht 예, 저는 동의합니다. 그리고 Tim의 첫 번째 초안이 나온 후. 이제 성에서 My =의 가능성은 꽤 존재하지 않지만 어쨌든 ... – Steve

+0

Regex.Replace를 사용하면 일부 상용구가 제거 될 수 있습니다 (내부적으로 StringBuilder 사용). – Sehnsucht

관련 문제