loading

프로그래밍/JAVA

[JAVA] indexOf, lastIndexOf 사용 방법

침착곰 2021. 5. 16. 16:29
반응형

안녕하세요

프로그래밍을 하다보면 원하는 문자의 위치를 찾아내야 하는 경우가 있습니다

저 같은 경우 주로 경로에 있는 파일명을 찾는 기능을 구현하거나 확장자를 찾는 기능을 구현할 때 indexOf를 사용하여 프로그램을 구현했던 걸로 기억합니다

이번 포스팅에서는 문자열에서 원하는 문자를 찾는 자바의 기본 메서드인 indexOf와 lastIndexOf에 대해서 알아보겠습니다

 

목차

IndexOf
lastIndexOf

 


indexOf

indexOf는 4가지 방법의 사용법이 있습니다

indexOf를 사용하면 아래처럼 4개의 오버로딩 메서드를 확인할 수 있어요

indexOf(int ch) : 유니코드표의 값을 사용하여 원하는 문자열의 위치를 찾습니다

 유니코드표는 아래 이미지를 참고바랍니다

indexOf(String str) : 문자열에서 같은 문자의 위치를 찾습니다

indexOf(int ch, int fromIndex) : 유니코드표의 값을 사용하여 원하는 문자열을 찾지만 첫 번째부터 찾는 것이 아닌 fromIndx의 값에서 시작해서 문자열을 찾아줍니다

indexOf(String str, int fromIndex) : 문자열에서 같은 문자의 위치를 찾지만 fromIndex의 값에서 시작해서 문자열을 찾아줍니다

참고사항 : fromIndex는 0부터 시작하는 것이 1부터 시작합니다

참고사항2 : 찾는 문자열이 없는 경우 -1을 리턴해줍니다

 

indexOf를 사용할 때 위의 두 가지 참고사항만 알면 될 것 같습니다

이제 indexOf를 사용한 예제를 알아보겠습니다!

 

예제 코드

4개 다 동일하게 "Hello World!"에서 indexOf를 사용해서 "o"를 찾는 메서드입니다

첫 번째와 세 번째는 동일하게 4를 출력합니다

두 번째와 네 번째는 시작문자열이 5이므로 7을 출력합니다

public class indexOf {
	public static void main(String[] args)  {	
		String str = "Hello World!";
		
		System.out.println("IndexOf('Int형') : " + str.indexOf(111));
		System.out.println("IndexOf('Int형', 시작int) : " + str.indexOf(111, 5));
		System.out.println("IndexOf('문자형') : " + str.indexOf("o"));
		System.out.println("IndexOf('Int형', 시작int) : " + str.indexOf("o", 5));
	}
}

 

결과 화면

 


 

lastIndexOf

indexOf와는 반대로 lastIndexOf는 오른쪽 즉 뒤에서부터 문자열을 찾을 때 사용하는 메서드입니다

indexOf와 사용법은 같습니다

indexOf와 똑같이 사용법도 4개가 있습니다

 

indexOf(int ch) : 유니코드표의 값을 사용하여 원하는 문자열의 위치를 뒤에서부터 찾습니다

indexOf(String str) : 문자열에서 같은 문자의 위치를 뒤에서부터 찾습니다

indexOf(int ch, int fromIndex) : 유니코드표의 값을 사용하여 원하는 문자열을 찾지만 마지막에서부터 찾는 것이 아닌 fromIndx의 값에서 시작해서 문자열을 찾아줍니다

indexOf(String str, int fromIndex) : 문자열에서 같은 문자의 위치를 찾지만 뒤에서부터 fromIndex의 값에서 시작해서 문자열을 찾아줍니다

 

이제 lastIndexOf를 사용한 예제를 알아보겠습니다

 

예제 코드

4개 다 동일하게 뒤에서부터 "o"를 찾는 예제입니다

첫 번째와 세 번째는 뒤에서부터 "o"를 찾아 값이 7이 나옵니다

두 번째와 네 번째는 뒤에서부터 "o"를 찾지만 fromIndex가 5이므로 4를 출력합니다

public class lastIndexOf {
	public static void main(String[] args)  {	
		String str = "Hello World!";
		
		System.out.println("LastIndexOf('Int형') : " + str.lastIndexOf(111));
		System.out.println("LastIndexOf('Int형', 시작int) : " + str.lastIndexOf(111, 5));
		System.out.println("LastIndexOf('문자형') : " + str.lastIndexOf("o"));
		System.out.println("LastIndexOf('Int형', 시작int) : " + str.lastIndexOf("o", 5));
	}
}

 

결과 화면

 

여기까지 indexOf와 lastIndexOf의 사용법에 대해서 알아봤습니다

자바를 공부하는 분들, 자바 프로그래밍을 하는 분들에게 이 포스팅이 도움이 되었으면 좋겠습니다!!

반응형
그리드형