2011-03-13 4 views
4

문자열에 특정 문자열이 들어 있는지 확인하려고합니다.C# String.Contains() 오작동?

간단하게는, 여기에 (내가 관련이없는 코드를 생략 프로그램의 작은 부분) 내 코드입니다 :

"Alligator" Contains "Alligator" 
"Loves" Does Not Contain "Love" 
"To Eat You" Does Not Contain "You" 
그러나

string y = someValue; 
for(string x in someCollection) 
      { 
       if (x.Contains(y)) 
       { 
        Debug.WriteLine(x + " Contains " + y); 
       } 
       else 
       { 
        Debug.WriteLine(x + " Does Not Contain " + y); 
       } 
      } 

, 이것은 내가 결과로 무엇을 얻을

그래서, 어떻게 온거야!?! Contains()는 두 문자열이 정확히 일치하는 경우에만 true를 반환합니다. ?? 여기 뭔가가 ...

ps. 문자열 x와 y는 텍스트 파일에서 읽었으며 일부 텍스트 자르기 과정을 거쳤습니다 ...

+1

샘플 문자열이 일치하는 * 정확한 * 문자열입니까? 나는 당신이 같은 유니 코드 문자열을 가지고 있지만 다른 문자들로 구성되어 있다고 생각합니다. – Gabe

+0

파일의 텍스트가 정확한 문자열입니다. 이걸 읽은 기록은 다음과 같습니다 : "너"| "악어"| "사랑"\t "악어"| "사랑한다"| "너를 먹기 위해" – tsong99

+0

@Robert Levy @Gabe 그렇습니다. 맡은 일. 그래서, 어떻게 확인할 수 있습니까? 문제는 텍스트 파일의 인코딩 형식과 관련이 있습니까? (나는 그것을 메모장에 간단히 타이프하여 내 프로그램에 저장한다.) – tsong99

답변

18

출력이 정확합니다. 기대가 잘못되었습니다. 당신의 혼란은 견적 문자를 넘었습니다. "Loves"은 실제로 "Love"을 포함하지 않지만 "Love을 포함합니다.

+3

와우, 나는 인정해야한다. – BoltClock

+0

아, 쓰레기! 이것은 매우 창피합니다. 하하! 고마워요! :) – tsong99

+0

하아! 세심한주의. –

관련 문제