어제 오늘 내일

[Java String] contains() – 문자열 포함 여부 확인하기 본문

IT/Java

[Java String] contains() – 문자열 포함 여부 확인하기

hi.anna 2025. 9. 18. 02:39

문자열 처리에서 가장 자주 쓰이는 기능 중 하나는 특정 단어가 포함되어 있는지 검사하는 것입니다.
자바에서는 이를 위해 contains() 메서드를 제공합니다.

 

1. 기본 사용법

public boolean contains(CharSequence s)
  • 현재 문자열이 s를 포함하면 true 반환
  • 대소문자를 구분함
String str = "Java Programming";

System.out.println(str.contains("Java"));   // true
System.out.println(str.contains("Pro"));    // true
System.out.println(str.contains("python")); // false

👉 "Java Programming"에는 "Java", "Pro"가 포함되어 있으므로 true, "python"은 포함되지 않으므로 false.

 

2. 대소문자 구분

contains()는 기본적으로 대소문자를 구분합니다.

String text = "Hello World";

System.out.println(text.contains("hello")); // false
System.out.println(text.toLowerCase().contains("hello")); // true

👉 대소문자를 무시하려면 toLowerCase()toUpperCase()를 활용해야 합니다.

 

3. 실전 활용 예제

검색 기능

String title = "Spring Boot Tutorial";

if (title.toLowerCase().contains("spring")) {
    System.out.println("Spring 관련 글입니다.");
}

👉 블로그 검색, 필터링 기능 등에 유용합니다.

금지어 필터링

String comment = "이 사이트는 스팸입니다.";

if (comment.contains("스팸")) {
    System.out.println("금지어가 포함된 댓글입니다.");
}

👉 채팅, 게시판 등에서 특정 단어를 차단할 때 활용할 수 있습니다.

파일 경로 확인

String path = "/user/local/bin/java";

if (path.contains("/bin/")) {
    System.out.println("실행 파일이 포함된 경로입니다.");
}

👉 파일 시스템에서 특정 경로 탐색에도 사용 가능합니다.

 

4. indexOf()와 차이

  • contains() → 단순히 포함 여부 (true/false)
  • indexOf() → 포함된 위치(인덱스) 반환
String str = "Java Programming";

System.out.println(str.contains("Pro"));   // true
System.out.println(str.indexOf("Pro"));    // 5

👉 포함 여부만 필요하면 contains(), 위치까지 필요하면 indexOf().

 

5. 정리

  • contains()는 문자열 포함 여부를 확인하는 가장 직관적인 방법
  • 대소문자 구분 (무시하려면 toLowerCase() 활용)
  • 검색 기능, 필터링, 경로 확인 등 실무에서 자주 쓰임
  • 위치가 필요하면 indexOf()와 함께 활용

👉 문자열 안에 특정 패턴이 있는지 확인하려면 contains()가 가장 간단하다!

반응형
Comments