2012-06-26 2 views
2

파일의 모든 줄을 읽는 메서드를 만들고 싶습니다. 다음으로 파이프 사이를 점검하고 길이가 3 자 이상이고 숫자 만있는 단어가 있는지 판별해야합니다. 파일에서 다음과 같이 구성 문자열은 다음과 같습니다지정된 문자 사이에 단어를 삭제하는 방법은 무엇입니까?

무슨 일인지이 문장으로

, 소프트웨어가 1293328.

을 제거해야합니다 {결코 ...하지 않다 | 이유 | | | 모르는 것은 정보 참조 1,293,328 | 멋지다}

결과 문장은 다음과 같습니다

무슨 일인지 지금은 이브를 읽고 있어요까지

을 {결코 ...하지 않다 | | 그 멋진 모르는} ry 줄 사이의 단어를 결정하는 함수를 만들었습니다. | 삭제 또는 삭제하지 않아야합니다 (예 : 멋지다는 식으로 확인하십시오.)

파이프 사이에 문자열을 가져 오는 방법을 모르겠습니다.

+5

숙제처럼 소리. 너 뭐 해봤 니? 정규 표현식? . split (new [] { '|')? –

+0

'3.3'을 어떻게 처리해야합니까? – RedFilter

+0

아니, 숙제가 아니야. 정규식 분할을 시도하지 않았다 3.3 (float)이 어떤 행에도 쓰이지 않는다는 것을 확실히 알고있다 :) – user1461166

답변

1

Split 메서드를 사용하여 문자열을 문자로 나눌 수 있습니다. 에 대해 무엇

string YourStringVariable = "{noway|that's cool|1293328|why|don't know|see}"; 

YourStringVariable.Split('|'); //Returns an array of the strings between the brackets 
+0

정보를 제공해 주셔서 감사합니다. 확인해 보겠습니다. – user1461166

+0

또한 여기에서 자세한 정보를 확인할 수 있습니다. http://stackoverflow.com/questions/459677/c-a-strings-split-method – Tom

0

:

string RemoveValues(string sentence, string[] values){ 

    foreach(string s in values){ 
     while(sentence.IndexOf("|" + s) != -1 && sentence.IndexOf("|" + s) != 0){ 
     sentence = sentence.Remove(sentence.IndexOf("|" + s), s.Lenght + 1); 
     } 
    } 

    return sentence; 
} 

귀하의 경우 :

string[] values = new string[3]{ "1293328", "why", "see" }; 
string sentence = RemoveValues("noway|that's cool|1293328|why|don't know|see", values); 
//result: noway|that's cool|don't know 
0
 string YourStringVariable = "{noway|that's cool|1293328|why|don't know|see}"; 
     string[] SplitValue=g.Split('|'); 
     string FinalValue = string.Empty; 
     for (int i = 0; i < SplitValue.Length; i++) 
     { 
      if (!SplitValue[i].ToString().Any(char.IsDigit)) 
      { 
       FinalValue += SplitValue[i]+"|";  

      } 

     } 
관련 문제