JAVA 문자열 검색 indexOf 사용 방법

Java에서 문자열을 검색하고 싶은 경우가 있습니다.

이러한 경우에 사용할 수 있는 메서드로 indexOf가 있습니다.

indexOf메서드는 String, StringBuffer, List안에 특정 문자열이 포함됐는지 확인이 가능합니다.

만약 특정 문자열이 포함됐다면 그 요소의 index번호를 반환합니다.

문자열을 찾지 못한 경우에는 -1을 반환합니다.

작성 방법과 샘플을 보면서 사용방법을 확인해보겠습니다.

 

String indexOf

String에서 문자열을 검색하고 싶을 때 indexOf를 작성하는 방법을 보겠습니다.

대상문자열.indexOf(검색하고 싶은 문자열, 검색 시작 위치 인덱스 번호(생략 가능))

 

첫 번째 파라미터로는 대상 문자열에서 검색하고 싶은 문자열을 지정합니다.

두 번째 파라미터로는 검색 시작 위치를 지정합니다.

두 전째 파라미터는 생략이 가능하며, 생략한 경우에는 대상 문자열 처음부터 검색을 시작합니다.

 

샘플을 보면서 사용방법을 확인해보겠습니다.

public class Main {
	public static void main(String[] args) {
		String str1 = "appleorangemelon";
		String str2 = "orange";
 
		int result = str1.indexOf(str2);
 
		if (result != -1) {
			System.out.println(str2 + " 검색위치 :" + result);
		} else {
			System.out.println(str2 + "검색 결과 없음. 반환값 : "+ result);
		}
		
		
        System.out.println("--------------------------");
		
		str2 = "banana";
 
		result = str1.indexOf(str2);
 
		if (result != -1) {
			System.out.println(str2 + " 검색위치 :" + result);
		} else {
			System.out.println(str2 + "검색 결과 없음. 반환값 : "+ result);
		}
	}
}

 

결과

orange 검색위치 :5
--------------------------
banana검색 결과 없음. 반환값 : -1

 

대상 문자열에서 검색 문자열을 찾은 경우에는 검색 문자열이 시작하는 인덱스 위치를 반환합니다.

참고로 인덱스는 0부터 시작을 합니다.

그리고 대상 문자열에 검색 문자열이 존재하지 않는 경우에는 -1을 반환합니다.

 

List indexOf

이번에는 List에서 문자열을 검색하는 방법을 확인해보겠습니다.

대상리스트.indexOf(검색하고 싶은 문자열, 검색 시작 위치 인덱스 번호(생략 가능))

 

첫 번째 파라미터로는 대상 리스트 검색하고 싶은 문자열을 지정합니다.

두 번째 파라미터로는 검색 시작 위치를 지정합니다.

두 전째 파라미터는 생략이 가능하며, 생략한 경우에는 대상 리스트 처음부터 검색을 시작합니다.

 

샘플을 보면서 사용방법을 확인해보겠습니다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class Main {
	public static void main(String[] args) {
 
		List list = new ArrayList<>(Arrays.asList("o", "r", "a", "n", "g", "e"));
		
		String str = "a";
		int index = list.indexOf(str);
 
		System.out.println("인덱스 = " + index);
		
		System.out.println("--------------------------");
		str = "t";
		index = list.indexOf(str);
		System.out.println("인덱스 = " + index);

	}
}

 

결과

인덱스 = 2
--------------------------
인덱스 = -1

 

대상 리스트에서 검색 문자열을 찾은 경우에는 검색 문자열이 시작하는 인덱스 위치를 반환합니다.

List도 String과 동일하게 인덱스는 0부터 시작을 합니다.

그리고 대상 리스트에 검색 문자열이 존재하지 않는 경우에는 -1을 반환합니다.

String, StringBuffer, List에서 문자열 위치를 검색해주는 indexOf 함수 사용 방법에 대해 살펴봤습니다.

사용방법은 String형이나 List형이나 차이가 없었습니다.

반환값 또한 차이가 없었습니다.

댓글