[Java] 문자열에 특정 문자열이 있는지 확인하는 방법

Yoon Uk·2022년 11월 2일
0

언어 - Java

목록 보기
3/5
post-thumbnail

문자열에서 특정 문자열이 포함되어 있는지 확인하는 방법을 알아보겠습니다.

String 클래스

Java에서 지원하는 String 클래스 내에 있는 메소드를 이용하는 방법입니다.

1. contains() 메소드

String 클래스에서 제공하는 contains() 메소드를 사용해 특정 문자열이 있는지 확인할 수 있습니다.
특정 문자열을 인수로 전달하여 포함되어 있으면 true, 없으면 false를 반환합니다.

String str = "Woowacourse precourse java";

System.out.println(str.contains("Woowacourse"));
System.out.println(str.contains("woowacourse"));

실행 결과

true
false

contains() 메소드는 대소문자를 구분합니다.

2. indexOf() 메소드

특정 문자열이 존재한다면 해당 특정 문자열의 첫 번째 인덱스가 반환되고, 없다면 -1이 반환됩니다.

String str = "Woowacourse precourse java";

System.out.println(str.indexOf(precourse));
System.out.println(str.contains("kotlin"));

실행 결과

12
-1

특정 문자열 precourse는 12번째 인덱스부터 시작되므로 12가 반환됩니다.
특정 문자열 Kotlin은 포함되어 있지 않으므로 -1이 반환됩니다.

문자열의 특정 인덱스 이후에서 특정 문자열을 찾고 싶다면 두 번째 인수로 특정 인덱스 값을 넣어줍니다.

String str = "Woowacourse precourse java";

System.out.println(str.indexOf(Woowacourse, 10));

실행 결과

-1

10번째 인덱스 뒤에 Woowacourse가 있는지 확인합니다.
찾고자 하는 문자열 Woowacourse은 0번째 인덱스에 있으므로 -1이 반환됩니다.

3. lastIndexOf() 메소드

indexOf() 메소드와 반대로 lastIndexOf() 메소드는 문자열의 마지막 위치에서부터 특정 문자열을 탐색합니다.

String str = "java1 java2 java3";

System.out.println(str.indexOf(java));
System.out.println(str.lastIndexOf(java));

실행 결과

0
12

문자열의 마지막 위치에서부터 특정 문자열을 찾고 싶으면 lastIndexOf() 메소드를 사용합니다.

0개의 댓글