2017-04-10 2 views
0

텍스트에 여러 문자가 나타나는 경우를 반환하는 함수가 있습니다. 그러나 문제가 있습니다. 대소 문자가 중요합니다. 기능 : 내용대소 문자를 구분하지 않는 문자 찾기 C#

public static int GetOccurrences(String text, Char character) 
    { 
     return text.Count(x => x == character); 
    } 

"LOREM의 Ipsum 제품의 슬픔이 AMET 앉아 프로 EU erant 언제나 ancillae"는 예를 들어 1 "L"와 3 개의 "L"을 할 것이다. 대소 문자를 무시할 수 있습니까?

+0

그냥 문자열의 소문자 사본을 만들어 귀하의 비교를하고, INT를 반환 비교할 때 당신은 단순히 대문자로 그들 모두를 넣을 수 있습니다. –

+3

[대소 문자를 무시하는 올바른 방법은 무엇입니까?] (http://stackoverflow.com/questions/1394877/what-is-the-correct-way-to-compare-char-ignoring-case) –

답변

3

당신이 그 (것)들을

text.Count(x => char.ToUpperInvariant(x) == char.ToUpperInvariant(character)) 
+1

비교를 할 때 대소 문자 구분에 관한이 게시물에 대한 Jon의 답변을 확인하십시오. http://stackoverflow.com/questions/234591/upper-vs-lower-case –

+0

@RufusL 매우 재미 있습니다. 그 사실을 알지 못했습니다. 'CultureInfo'를 더 잘 지정할 수 있습니까? – CNuts

+0

그는이 질문의 중복을 여기에 대답했습니다. 그 대답은 내가 할 수있는 것보다 낫다고 설명합니다 : http://stackoverflow.com/questions/1394877/what-is-the-correct-way-to-compare-char-ignoring-case –

관련 문제