Language/Java

문자열 함수 종류

리져니 2021. 7. 5. 16:03

문자열의 비교(equals())

두 문자열을 비교할 때는 equals()라는 메서드를 사용.

* 문자열의 해쉬값을 비교함, 같은 문자열이라도 해쉬값이 다르면 false

String str = new String("abc");
boolean result = str.equals("abc");

만일 대소문자를 구별하지 않고 비교하고 싶다면 equalsIgnoreCase()를 사용하면 된다.

 

찾는 문자의 인덱스 출력(indexOf())

String str = "abdc";
str.indexOf("b"); //1

 

문자열의 길이 구하기(length)

String str = "abcd";
str.length //4

 

문자열의 일정 부분만 출력하기(substring())

String str = "abcd";
str.substring(2); //"cd"
str.substring(1,4); //"bcd"

substring(index) : index부터 마지막 인덱스까지 출력

substring(index1, index2): index1부터 index2-1 까지 출력 (때문에 항상 index2는 출력하고자 하는 인덱스+1의 값으로 지정해주어야함)

 

문자열 대문자 변환(toUpperCase())

String str = "abcd";
str.toUpperCase(str); // "ABCD"

 

문자열 소문자 변환(toLowerCase())

String str = "ABCD";
str.toLowerCase(); // "abcd"

 

두 문자열 병합(concat())

String str1 = "안녕하세요, ";
String str2 = "반갑습니다!"

str1.concat(str2); // "안녕하세요, 반갑습니다!"

* str1+str2 를 통해서도 병합할 수 있다. (효율이 별로 안좋음)

 

문자열이 특정 문자로 시작하는지 확인(startWith())

String str = "abdc";
str.startWith("b"); //false

 

문자열이 특정 문자로 끝나는지 확인(endWith())

String str = "abcd";
str.endWith("d"); // true

 

특정 문자로 문자 변경(replaceAll())

String str = "aabdbacaaa";
str.replaceAll("a", "c"); //ccbdbccccc

 

특정 문자로 문자 변경(replace())

String str = "aabdbacaaa";
str.replace("a", "c"); //ccbdbccccc

 

replace() vs replaceAll()

replace(char, char), replace(charSequence, charSequence)

: char도 받고 CharSequence도 받게되어있기때문에 char와 String 모두 넣을수 있음

 

replaceAll(String, String)

: 정규표현식을 인자로 받음

 

특정 문자를 기준으로 문자열 분리(split())

String str = "a b c d e";
String[] chr = str.split(" "); // {'a','b','c','d','e'}

 

문자열의 시작과 끝의 공백 제거(trim())

String str ="    a bcd ";
str.trim(); // "a bcd"

 

문자열에 특정 문자가 있는지 확인(contains())

String str = "abcd";
str.contains("b"); // true

 

문자열의 해당 인덱스에 있는 문자를 반환(charAt())

String str = "abcd";
str.charAt(1); // "b";

 

728x90