본문 바로가기
자바

자바 문자열에서 문자열 검색 String . indexOf() , lastIndexOf() [북붙따라하기]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2020. 12. 29.

. indexOf()  메서드

사용 예제 ) 코드를 복붙 하여  실행해 보시기 바랍니다. 설명은 코드 아래 부분에 있습니다.

public class Sample {

	public static void main(String[] args) {

		///////////////// indexOf() 
		String strTest = "영일이삼사오육칠팔구십";

		int nValue = strTest.indexOf("사오육");
		
		System.out.println(" 사오육 의 위치 는 : "+nValue);

	}
}
//결과는 :

//  사오육 의 위치 는 : 4

 

결과 값이 4 인 이유는 0부터 시작하기 때문입니다.

찾는 문자열이 시작하는 위치 4를 돌려준 것입니다.

 

찾는 문자열이 그 문자열에 없을 때는 -1을 되돌려 줍니다.

그래서 주로 사용되는 곳은 

검색한 데이터를 배열에 담아서 for문으로 돌리면서 있는지를 비교해서

있으면 그해 당하는 데이터를 출력할 때 많이 사용합니다.

예를 들면 게시판 검색이나 업무일지 검색 이나 이런 경우에 많이 사용합니다.

 

 

자주는 사용하지 않지만

lastIndexOf( ) 예제 입니다. 여러 항목이 있을때 마지막에 있는 항목의 자릿수를 돌려 줍니다.

public class Sample {

	public static void main(String[] args) {

		///////////////// lastIndexOf()
		
		String strTest2 = "01234567영일890123456영일789012345영일6789";

		int nValue2 = strTest2.lastIndexOf("영일");	//마지막에 있는 "영일"의 위치 값을 돌려준다.

		System.out.println(" 마지막 영일 의 위치 는 : " + nValue2);

	}
}
//결과는 :

// 마지막 영일 의 위치 는 : 30

아래는 실전 예제) 

 

		///////////////// indexOf() 실전 응용
		VStringSplit vstrSplit = new VStringSplit();
		String[] strArrJul = vstrSplit.vstrSplit(vsvrReadFile.strRcvMsg, "!@enter!@");
		

		for(int i=0; i< strArrJul.length ; i++) {
			if(strArrJul[i].indexOf("거래처") != -1) {
				System.out.println(" 거래처 검색 결과는  는 : "+strArrJul[i]);
			}
		}

 

사용법도 쉽고 굉장히 유용한 메서드입니다.

설명 끝.

 

 

 

 

 

 

728x90
반응형

댓글