본문 바로가기
언어(Language)/JAVA

[JAVA] 자바 특정 위치의 문자 찾기(indexOf)

by v쩡구v 2024. 4. 24.
반응형
특정 문자 위치 찾기

 

자바에서 문자열의 특정 문자를 찾아야 하는 경우가 있는데 이때 indexOflastIndexOf 함수 를 사용한다


indexOf()

특정 문자나 문자열에서 해당하는 문자를 앞에서부터 찾아 인덱스 값을 반환한다
인덱스 값을 찾지 못했을 경우 '-1'을 반환한다.

 

- indexOf(int)

- indexOf(String)

- indexOf(int, int)

- indexOf(String, int)


indexOf() 예시
String str = "index of test";

System.out.println(str.indexOf("e"));   // 3
System.out.println(str.indexOf("k"));   // -1
System.out.println(str.indexOf("o"));   // 6
System.out.println(str.indexOf("e", 5));    //10

 

indexOf("찾을 문자", "시작 위치")로 많이 사용하며

시작 위치 생략 시 문자열의 처음부터 찾아 반환한다.

 

인덱스 값은 0부터 시작하기 때문에 첫 번째 문자의 경우 인덱스는 0이 된다

 

1번째 예시의 "e"와 4번째 예시의 "e" 반환값이 3, 10으로 서로 다른데

1번째 예시의 경우 "찾을 문자"로만 함수를 실행하여 앞에서부터 나오는 첫 번째 "e"의 인덱스값인 3이 반환되었고,

4번째 예시"시작 위치"를 5 즉 해당 문자열에서 인덱스 5(6번째 문자) 부터 나오는 "e"를 찾아 10이 반환되었다

 

2번째 예시의 "k" 문자는 문자열에 없는 값이라 찾지 못하여 -1이 반환되었다

 

3번째 예시의 "o"는 인덱스의 경우 공백 역시 인덱스 값을 가지고 있기 때문에 공백값이 포함된 6이 반환되었다


lastIndexOf() 

특정 문자나 문자열에서 해당하는 문자를 뒤에서부터 찾아 인덱스 값을 반환한다
인덱스 값을 찾지 못했을 경우 '-1'을 반환한다.

 

- lastIndexOf (int)

- lastIndexOf (String)

- lastIndexOf (int, int)

- lastIndexOf (String, int)


lastIndexOf() 예시
String str = "last index of test";

System.out.println(str.lastIndexOf("e"));	// 15
System.out.println(str.lastIndexOf("k"));	// -1
System.out.println(str.lastIndexOf("o"));	// 11
System.out.println(str.lastIndexOf("e", 14));	// 8

 

lastIndexOf는 문자열의 마지막부터 찾아 인덱스를 반환한다

 

이때 반환되는 인덱스 값은 뒤에서부터 몇 번째인지가 아닌,

문자열의 인덱스(첫번째 0 ~부터 계산됨)가 반환된다.

 

1번째 예시의 경우 뒤에서 3번째에 있는 "e"의 반환값은 인덱스 값인 15인 것을 확인 할 수 있다.

반응형

'언어(Language) > JAVA' 카테고리의 다른 글

1. 프로그래밍과 자바  (0) 2023.02.01

댓글