Microsoft.visualBasic을 참조하지 않고 C# VB6 스타일로 문자열을 분할 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/154706

  •  03-07-2019
  •  | 
  •  

문제

불행히도, string.split (String speparator), string.split (char speparator) 만있는 것 같습니다.

다중 문자 분리기 인 LA VB6을 기반으로 문자열을 분해하고 싶습니다. C#에서이 작업을 수행하기 위해 쉽게 (즉, Microsoft.visualBasic을 참조하거나 Regexes를 배우는 것이 아니라)가 있습니까?

편집 : .NET 프레임 워크 사용 3.5.

도움이 되었습니까?

해결책

String.Split() 다른 과부하가 있습니다. 그들 중 일부는 가져갑니다 string[] 논쟁.

string original = "first;&second;&third";
string[] splitResults = original.Split( new string[] { ";&" }, StringSplitOptions.None );

다른 팁

스플릿 스트링을위한 정규식은 매우 간단하므로 그 경로와 함께 갈 것입니다.

http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

.NET의 어떤 버전? 최소 2.0 이후에는 다음 과부하가 포함됩니다.

.Split(string[] separator, StringSplitOptions options)  
.Split(string[] separator, int count, StringSplitOptions options)

이제 그들이 ienumerable을 받아들이 기 위해 그것을 고치면u003Cstring> 배열 대신.

Regex 버전은 아마도 더 예쁘지 만 이것은 또한 작동합니다.

string[] y = { "bar" };

string x = "foobarfoo";
foreach (string s in x.Split(y, StringSplitOptions.None))
      Console.WriteLine(s);

이것은 Foo를 두 번 인쇄합니다.

 string[] stringSeparators = new string[] {"[stop]"};
    string[] result;
result = someString.Split(stringSeparators, StringSplitOptions.None);

~을 통해 http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

나는 이것을 .net 2.0에서 항상 사용합니다.

string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top