일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백엔드
- HTML
- 웹개발
- Javascript
- 프론트엔드
- java
- 스프링부트
- 문자열 자르기
- Python
- 개발자
- 노드
- zxing
- node.js
- jsp
- 홈페이지 만들기
- 파이썬
- Spring Boot
- QR코드
- git
- sts4
- 백앤드
- 웹개발자
- 웹페이지 만들기
- 이클립스
- spring
- Eclipse
- 코딩
- 웹페이지
- 문자열
- 프롬포트 수정
- Today
- Total
웹개발왕
[JAVA] 문자열 indexOf, substring 본문
안녕하세요.
오늘은 JAVA에서 특정 문자의 위치를 찾는 indexOf와 문자열을 자를수 있는 substring에 대해 알아보겠습니다.
문자열을 다룰때 유용하게 쓰는 함수이니 꼭 기억해두세요!
indexOf
indexOf는 특정 문자의 위치를 찾을수 있는 함수인데요. 예시를 보여드리겠습니다.
String word = "abcde";
word.indexOf("a"); // 0
word.indexOf("b"); // 1
word.indexOf("c"); // 2
word.indexOf("d"); // 3
word.indexOf("e"); // 4
word.indexOf("f"); // -1
문자열 "abcde" 에서 각각의 문자를 indexOf 함수를 사용해서 위치를 찾은건데요.
주석을 보면 알 수 있듯이 문자의 위치는 숫자로 return 받습니다.
그리고 찾고싶은 문자가 없다면 -1를 return 합니다.
한가치 참고할점은 문자열 맨 앞부분이 1이 아닌 0으로 나온다는것입니다.
그럼 찾고싶은 문자가 2개 이상이면 어떻게 될까요?
String word = "abcde";
word.indexOf("ab"); // 0
word.indexOf("cd"); // 2
word.indexOf("de"); // 3
word.indexOf("ae"); // -1
만약 찾고싶은 문자가 2개 이상이면 맨 앞에있는 문자를 기준으로 위치가 return 됩니다.
indexOf 함수와 문자열을 분리하는 함수인 substring을 혼합해서 많이 사용하는데요.
substring 함수의 예시도 보여드릴께요.
substring
앞서 말했듯이 substring 함수는 문자열을 분리하는 함수인데요. 예시를 보여드리겠습니다.
String word = "abcde";
int a = word.indexOf("a"); // 0
int b = word.indexOf("b"); // 1
int c = word.indexOf("c"); // 2
int d = word.indexOf("d"); // 3
int e = word.indexOf("e"); // 4
word.substring(a) // "abcde"
word.substring(b) // "bcde"
word.substring(c) // "cde"
word.substring(d) // "de"
word.substring(e) // "e"
위 소스를 보면 알 수 있듯이 substring 함수 안에 있는 숫자부터 출력되는걸 볼 수 있습니다.
그럼 문자열 "abcde" 에서 "bcd"만 출력하고 싶으면 어떻게 해야될까요?
String word = "abcde";
int a = word.indexOf("a"); // 0
int b = word.indexOf("b"); // 1
int c = word.indexOf("c"); // 2
int d = word.indexOf("d"); // 3
int e = word.indexOf("e"); // 4
word.substring(b,d) // "bc"
word.substring(b,e) // "bcd"
"bcd"만 출력하고 싶으면 substring(b,d) 일거 같지만 실제론 substring(b,e)로 해야합니다.
숫자로하면 substring(1,4) 이겠군요.
즉 문자열 1번(포함)부터 4번(포함안됨)까지 출력한다는 뜻입니다.
여기까지 JAVA에서 indexOf 와 sustring 함수를 알아보았는데요.
다음엔 더 유익한 내용으로 포스팅 하겠습니다.
읽어주셔서 감사합니다!
'JAVA' 카테고리의 다른 글
[JAVA] HttpServletRequest cannot be resolved to a type 에러 해결방법 (2) | 2025.01.22 |
---|---|
[JAVA] split 함수로 문자열 자르기, 특수문자 자르기 (0) | 2024.10.24 |
[JAVA] 배열 출력하는 방법 Arrays.asList() (1) | 2024.10.24 |
[JAVA] String, Integer 형변환하는 방법 (2) | 2024.10.15 |
[JAVA] 숫자 쉼표 표시하는 방법 DecimalFormat (0) | 2024.10.15 |