블로그 이미지
암초보

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

05-18 15:11
2010. 3. 17. 10:28 프로그래밍/기타
c#에서는 string을 구분자로 Split 하는 메서드가 없다.

private string[] SplitByString(string testString, string split) { 
   int offset = 0;
   int index = 0;
   int[] offsets = new int[testString.Length + 1]; 

   while(index < testString.Length) { 
      int indexOf = testString.IndexOf(split, index); 
      if ( indexOf != -1 )  { 
         offsets[offset++] = indexOf; 
         index = (indexOf + split.Length); 
      } else { 
         index = testString.Length; 
      }
   }

   string[] final = new string[offset+1];
   if (offset == 0 ) { 
      final[0] = testString; 
   } else { 
      offset--; 
      final[0] = testString.Substring(0, offsets[0]); 
      for(int i = 0; i < offset; i++) { 
         final[i + 1] = testString.Substring(offsets[i] + split.Length, offsets[i+1] - offsets[i] - split.Length); 
      } 
      final[offset + 1] = testString.Substring(offsets[offset] + split.Length);
   } 
   return final;
}

posted by 암초보