본문 바로가기

Java

[JAVA] java 문자열 함수

 

1) indexOf : 문자열에서 특정 문자가 시작하는 인덱스 반환

str = "안녕하세요"

str.indexOf("하") 

출력: 2

-> 문자열에 특정 글자가 있는지/없는지 확인할 때 사용 가능

if ( str.indexOf("오") > -1 ) : "오"라는 문자열이 있는 경우

 

2) substring : 문자열 중 특정 부분을 뽑아내는 경우

str = "안녕하세요 반갑습니다"

str.substring(3) 

출력: 세

str.substring(3,6)

출력: 세요 (공백까지)

위의 예시처럼 substring(startindex, endindex)로 사용하는 경우에는 endindex-1 까지 반환해준다.

(2,6) 입력시 2,3,4,5 인덱스에 해당하는 글자가 출력

 

3) toUpperCase(), toLowerCase()

str = "abc"

str.toUpperCase() 

출력: ABC

 

str="ABC"

str.toLowerCase()

출력: abc

 

4) startsWith : 첫 문자가 무엇으로 시작 ? 

str = "안녕하세요"

if (str.startsWith("안")) -> true

대소문자 구분함

 

5) endWith : 마지막 문자가 무엇?

str = "안녕하세요"

if (str.endWith("요")) -> true

대소문자 구분함

 

6) replaceAll : 특정 문자열을 다른 문자열로 바꾸기

str = "바나나 맛있다"

str.replaceAll("바나나", "딸기")

출력: 딸기 맛있다

 

7) replace : 특정 문자열을 다른 문자열로 바꾸기

 

*replaceAll과 replace의 차이 : replaceAll은 정규표현식 사용 가능, replace는 확실히 문자열 아는 경우 사용 

예) 

str =  "abcdefghi"

str.replaceAll("[abcgh]","왕") 

출력: 왕왕왕def왕왕i 

str.replaceAll("[^abcgh]","왕") : ^ 표현은 제외를 뜻함

출력: abc왕왕왕gh왕

 

이처럼 replaceAll은 정규식을 이용할 수 있다. 

이를 replace로 나타내려면

str.replace("a","왕")

str.replace("b","왕")

.

.

.

str.replace("h","왕")

이렇게 하나하나 직접 작성해주어야한다.

 

8) split : 문자열 쪼개기

str = "안녕#하세요#선생님"

String[] arr = str.split("#")

결과: 

arr[0]  안녕

arr[1] 하세요

arr[2] 선생님

 

9) trim: 양쪽 끝 공백 없애기

중간 공백은 없애주지 않는다.

str = "  abc d ef "

str.trim() 

출력: abc d ef

 

10) contains : 포함유무 확인

str1 = "abcde"

str2 = "b"

if (str1.contains(b)) -> true

 

11) charAt

str = "안녕하세요"

str.charAt(3)

출력: 세

'Java' 카테고리의 다른 글

[java] hashMap 개념과 사용방법  (2) 2021.08.11
[Java] ArrayList 개념과 사용방법  (0) 2021.08.01