2012-03-08 3 views
0

내 문자열은 "37829300"입니다.문자열에서 2 자마다 간격을 둡니다?

결과는 "37 82 93 00"이 될 수 있도록 문자열의 2 문자마다 간격을 두는 방법은 무엇입니까?

나는 이것을 vC++에서 시도하고있다.

감사합니다.

#include iostream을 사용해야 할 수도 있지만 제대로 수행하는 방법에 대해서는 분실했습니다.

+0

WinForms C++/CLI 또는 MFC VC++? – AVIDeveloper

+0

"winforms"태그가 지정된 특별한 이유가 있습니까? – lochok

답변

1

멋진 한 줄자 정규 표현식을 찾을 수 없으므로 수동으로 해봅시다.

private static string AddSpaceAfterTwoDigits(string input) 
{ 
    string output = string.Empty; 
    MatchCollection arr = Regex.Matches(input, @"\d\d"); 
    if (arr.Count > 0) 
    { 
     output = arr[0].Groups[0].Value; // Add the first with no space 

     for (int i = 1; i < arr.Count; i++) 
     { 
      output += " " + arr[i].Groups[0].Value; 
     } 
    } 

    return output; 
} 
  • 코드는 C#으로이지만, C++/CLI에 상당히 솔직 변환합니다.
  • 코드는 숫자 숫자의 입력을 가정합니다.
+0

나는 C#에서 코드를 작성 했으므로, 나는 C++로 변환하려고 시도 할 것이다. 현재 가지고 있습니다 sHexPic = string_to_hex (sPic); \t \t sHexPic.insert (sHexPic.begin() + 2, ''); \t \t sHexPic.insert (2, ""); 이 코드는 모두 두 번째 숫자 다음에 공백을 입력합니다. 내 코드를 반복 할 방법을 찾아야 해. 비록 C# 코드 주셔서 감사합니다. – Andrew

+0

http://stackoverflow.com/questions/9612079/loop-to-keep-adding-spaces-in-string 코드를 사용하여 스레드를 만들고 상황을 더 잘 설명하려고했습니다. – Andrew

관련 문제