indexOf()
문자열 위치 찾기
문자열에는 앞에서부터 번호(0 ~)가 매겨진다.
"apple" -> a - 0, p - 1, p - 2, l - 3, e - 4
이 번호로 원하는 문자의 위치를 찾는다.
[형식]
indexOf("문자열")
indexOf("문자열",시작위치)
[예시]
String ex = "apple";
ex.indexOf("l",0);
=> 3
apple
ex.indexOf("l");
==> 3
apple
ex.indexOf("p");
==> 1
apple
첫번째 부터 "p"가 있는 위치를 찾는다. (가장 앞에 있는 문자의 위치)
ex.indexOf("p",2);
==> 2
apple
2번째 문자부터 "p"가 있는 위치를 찾는다.
찾고 싶은 문자열의 총 개수 구하기
찾고 싶은 문자열이 여러개 있는 경우,
"abcd251abc255" indexOf("abc") => 0 - 젤 앞에 1개만 찾는다.
indexOf("abc",0) => 0
indexOf("abc",3) => 8 // 3번째 문자 부터 맞는 위치 찾는다.
indexOf("abc", indexOf("abc", indexOf("abc",0) + 3 ) + 3) ...
찾은 위치 + 문자열 개수 => 그 다음 시작 위치
찾는 값이 없을 때는 -1로 값이 나온다.
"2646543154" indexOf("abc",0) ==> -1
[예시]
String num = "aaddccddd"
String now = "dd"
int index = 0;
int count = 0;
while((index = num.indexOf(now, index)) != -1) {
index += now.length();
count++; // 찾는 문자열의 개수
}// 문자열 찾기 while
System.out.print("count = " + count);
[실행결과]
count = 2
찾는 문자열이 전체 문자열보다 클 경우
if(num.length() < now.length()) {
System.out.println("입력한 문자열의 크기가 작습니다.");
}else {
replace()
문자열 치환(변경)
[형식]
replace("현재 문자", "바꿀 문자");
[예시]
int num = "aabbccdd"
System.out.println(num.replace("aa", "22"));
[실행결과]
22bbccdd
'Java' 카테고리의 다른 글
Java, Override의 정의 / Overload와 차이 / Annotation / 다형성이란 (0) | 2024.07.16 |
---|---|
Java, 상속(inheritance) / error 고치기 (0) | 2024.07.15 |
Java, 객체 배열 생성 (0) | 2024.07.15 |
Java, Static 클래스 변수 / 접근 제어자 / import static (0) | 2024.07.15 |
Java, Method (메소드)의 정의 (0) | 2024.07.12 |