2014-09-19 2 views
7

간단한 질문이 있습니다. Java에서 indexof 대소 문자를 구분하지 않으려면 어떻게해야합니까? 이 질문은 일부 포럼에서 이미 답변되었지만 대답을 이해하지 못했습니다.indexof 대소 문자를 구분하지 않도록 만드는 방법

내가 같이있는 레코드 (컨퍼런스)를 당길 원하지만 사용자가 그래서 내 프로그램이 있어야한다 CONF 또는 conf의 또는 컨퍼런스 등 를 입력 문자열의 = 전화 (컨퍼런스)가 eg.I에 대한 말 어떤 경우 에라도 conf라는 단어를 발견하면 레코드를 가져올 수 있습니다.

if(s.indexOf("(")>-1&& s.indexOf("Conf")>-4 && s.lastIndexOf(")")>-1) 
{ 
    String s1=s.substring(s.indexOf("(Conf"),s.lastIndexOf(")")+1); 
    } 

누군가 나를 설명 할 수 있습니까? 위의 코드는 문자열이 (Conf) 인 경우에만 가져옵니다.

+0

[indexOf 대소 문자 구별이 가능합니까?] (0120-13807/indexof-case-sensitive) – targumon

답변

8

이 될 것 수행하는 가장 안전한 방법 :

content.toLowerCase().indexOf(searchTerm.toLowerCase())는,이 방법은 당신이 가능 가장자리 케이스를 커버 함량이 낮은 경우와 검색어에있을 수있는 경우 대문자이거나 모두 대문자가됩니다.

+1

유니 코드에는 사용할 수 없으며 İ와 i lengths의 길이는 다릅니다 (터키어 i 점으로) –

+0

왜 작동하지 않습니까? Java 문자열은 유니 코드를 처리하는 방법을 알아야합니다. – mbonnin

3

하나 개의 일반적인 솔루션 :

yourString.toLowerCase().indexOf("foo"); 
관련 문제