charAt, toCharArray, substring, indexOf, lastIndexOf

양혜정·2024년 2월 3일
0

Begin_java

목록 보기
39/71

- "문자열".chaAt(int index)

-> 인덱스에 있는 글자를 char 타입으로 나타낸다.

Ex) "안녕하세요".charAt(2) => '하'

- "문자열".toCharArray()

-> 문자열을 char타입의 배열로 만든다.

Ex) "안녕하세요".toCharArray() 

★ CharArray()의 길이는 length() 가 아닌 length 로 적는다!

- "문자열".substring(int 시작인덱스, int 끝인덱스)

-> 시작인덱스에 적힌 글자부터 끝인덱스에 적힌 글자까지를 나타낸다.

Ex) "안녕하세요".substring(1,4) => "녕하세요"

- "문자열".substring(int 시작인덱스)

-> 시작인덱스에 적힌 글자부터 마지막까지 나타낸다.

Ex)"안녕하세요".substring(2) => "하세요"

- "문자열".indexOf("찾을문자열")

-> "문자열"에서 최초로 나오는 "찾을문자열"의 인덱스(int)를 알려준다.

Ex) "안녕하세요 건강하세요".indexOf("하") => 2

-> 만약 찾을문자열이 없을경우 '-1'을 띈다.

- "문자열".lastIndexOf("찾을문자열")

-> "문자열"에서 마지막으로 나오는 "찾을문자열"의 인덱스(int)를 알려준다.

Ex)"안녕하세요 건강하세요".lastindexOf("하") => 8

응용

-> toCharArray, indexOf, substring

System.out.println("\n=== 파일명만 뽑아온 결과물 (index) ===");
	String[] pathFileNameArr = {
    "C:/mydocument/resume/나의이력서.hwp",
	"D:/mymusic.mp3",
	"C:/photo/내얼굴.jpg"};
    
		for(int i=0; i<pathFileNameArr.length; i++) {
			// char 타입의 배열로 만들어서 chArr에 저장
			char[] chArr = pathFileNameArr[i].toCharArray();
			
			// 거꾸로 배열하기
			String str_reverse = "";
			for(int j=chArr.length-1; j>=0; j--) {
                 // length-1 => 마지막 index
				str_reverse += chArr[j];	// 거꾸로 나열
			}	// end of for---------
			
			// 거꾸로 나열된 것을 indexOf로 파일 구분 찾아내기
			int idx = str_reverse.indexOf("/");
			if(idx != -1) {	// -1일경우는 없는 경우니 제외
				// 거꾸로 나열된 상태에서의 index 값이니
				// idx 의 뒷부분은 파일명 X => 끝인덱스 설정
				str_reverse = str_reverse.substring(0,idx);
				
				chArr = str_reverse.toCharArray();
				// char타입 문자열에 새로 저장하기
				
				// 다시 거꾸로 돌려놓기
				String str_result = "";
				for(int k=chArr.length-1; k>=0; k--) {
					str_result += chArr[k];
					// char타입으로 배열된 값을
                    // String 타입으로 저장하기
				}	// end of for--------------
				System.out.println(str_result);
			}	// end of if---------
		}	// end of for------------

-> lastIndexOf, substring

		System.out.println("\n=== 파일명만 뽑아온 결과물 
        				+ "(lastIndex) ===");
		String result ="";
		for(int i=0; i<pathFileNameArr.length;i++) {
			int idx = pathFileNameArr[i].lastIndexOf("/");
			// 마지막으로 "/" 있는 위치찾기
			if(idx != -1) {	
               // -1일경우는 존재하지 않는다는 이야기
			result = pathFileNameArr[i].substring(idx+1);
			// idx 부터 나오면 '/'부터 나오므로
            // 파일명부터 나오려면 +1 을 해주어야한다.
			}	// end of if---------
			System.out.println(result);
		}	// end of for-----

참고

index : https://velog.io/@jjoung-2j/Index


정리

my.day10.a.string -> Main_String

0개의 댓글

관련 채용 정보