2016-06-08 1 views
-1

나는문자의 길이를 고려하지 않고 특정 문자로 문자열을 분할하는 방법은 무엇입니까?

abc 
    def 
    -------------- 
    efg 
    hij  
    ------ 
    xyz 
    pqr 
    -------------- 

지금 나는 - 문자로 문자열을 분할해야이 문자열에 작업을 시도하고있다. 지금까지 나는 줄의 문자열을 먼저 분할하고 -의 발생을 발견하고 줄을 단일 *로 바꾸고 전체 문자열을 결합한 다음 다시 나누었습니다.

내가

string[] set = 
{ 
    "abc 
    def", 
    "efg 
    hij", 
    "xyz 
    pqr" 
} 

이 작업을 수행 할 수있는 더 나은 방법이 있나요으로 데이터를 얻으려고?

+0

이 예제에서 "abcdef"는 단일 문자열 또는 두 개의 별도 문자열로 취급됩니까? –

+0

다른 줄에 단일 문자열 tho. – Drag0nKn1ght

+0

'String.Split'은 정확히 그렇게합니다 .. 당신이 시도한 것조차 확실하지 않습니다. –

답변

4
var spitStrings = yourString.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

이 위의 코드를 해결합니다.

+1

이 라운드에서 우승합니다. – fuzz

+0

롤, 그들은 질문을 이해하는 데 너무 많은 시간이 걸렸습니다 –

+0

그리고 설명이 부족해서 미안 해요. 글쎄, 지금은 이점을 고려하십시오! :) – Drag0nKn1ght

1

나는 당신이 묻고있는 것과 정확하게 혼동되지만, 그렇지 않을 것입니까?

\n\r = CR + LF // Used as a new line character in Windows

(char)13 = \n = CR // Same as \n

나는 다음과 같은 작업을해야 다음 - 년대 분할에 대한 질문을 이해 해요 경우

\r = LF (Line Feed) // Used as a new line character in Mac OS

\n = CR (Carriage Return) // Used as a new line character in Unix

string[] seta = 
{ 
    "abc\ndef", 
    "efg\nhij", 
    "xyz\npqr" 
} 
.

string s = "abc-def-efg-hij-xyz-pqr"; // example? 
string[] letters = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 

이 배열이 순간에 모습입니다 경우에, 당신 수 그것을 통해 루프를 다음과 같이 : 나는 당신의 질문을 이해한다면

string[] seta = { 
    "abc-def", 
    "efg-hij", 
    "xyz-pqr" 
}; 

foreach (var letter in seta) 
{ 
    string[] letters = letter.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 
    // do something with letters? 
} 
+0

문자열을'-------'로 분리하려고합니다. '-'의 숫자에 상관없이 – Drag0nKn1ght

1

특정 문자 또는 문자열 (여기서는 -)을 사용하는 문자열 분할 기능을 사용할 수 있습니다. 출력은 문자열 배열입니다. 그런 다음 원하는 문자열을 선택하십시오. 예 : 그 다음 내 대답에 감사를 표시하는 것을 잊지 마세요 않을 경우

1

나는

string m = "adasd------asdasd---asdasdsad-------asdasd------adsadasd---asdasd---asdadadad-asdadsa-asdada-s---adadasd-adsd"; 
    var array = m.Split('-'); 

    List<string> myCollection = new List<string>(); 

    if (array.Length > 0) 
    { 
     foreach (string item in array) 
     { 
      if (item != "") 
      { 
       myCollection.Add(item); 
      } 
     } 
    } 

    string[] str = myCollection.ToArray(); 

... 당신을 도울 것입니다 코드를 아래이 확신 해요. ...)

0
string set = "abc----def----------------efg----hij--xyz-------pqr" ; 
var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

편집 -

그는 얼마나 많은 '-'가 있더라도 문자열을 분할하려고합니다.

var spitStrings = set.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries); 

이렇게하면됩니다.

+1

제공하는 솔루션에 대한 설명을 추가하여 답을 더 자세히 설명해 주시겠습니까? – abarisone

관련 문제