Kotlin & Java

자주 사용하는 String 클래스 함수

Nanamare 2020. 2. 29. 00:18
728x90

String 클래스는 Immutable 클래스 이기 때문에, 시그니쳐(Signature) 중 리턴 타입이 String 인  타입은 원본 객체가 바뀌는 것이 아니라, 새로운 객체를 만들어 반환 해준다.

이런 메서드를 접근자(accessor) 메서드 라고 한다. 호출 대상을 변경하는 메서드는 변경자(mutator)라고 한다

 

함수 설명 및 예제

boolean startWith(String str)

boolean endsWith(String str)

boolean contains(CharSequence str)

특정 문자열로 시작, 종료 하거나 지정한 문자열을 포함하는지 체크한다.
int length() 문자열의 길이를 리턴한다
boolean equals()

문자열을 비교할 때 사용하는 함수로 같으면 true, 다르면 false 를 리턴한다.

사용할 때는 a, b  가 있고 b가 null 일 가능성이 있다면, a.equals(b) 로 체크해야 null 까지 안전하게 검사가능하다.

int compareTo(String str)  
char charAt(int index)

index 가 가리키는 부분의 문자를 리턴해준다

e.g

"Hello".charAt(3) // 'l'

"Hello".charAt(100) // throw StringIndexOutOfBoundsException()

String concat(String str)

str 을 기존의 문자열에 추가하여 문자열을 리턴해준다.

e.g

"Hello".concat("World") // "HelloWorld"

String format(String format, Object... args)  

문자열 서식을 사용하여 서식화된 문자열을 반환한다

e.g

String name = "nanamare"

String.format("name is %s",name) // name is nanamare

String split(String regex, int limit)

regex 에 정규표현식 혹은 문자열을 대입하여 원하는 모양으로 문자열을 분리할 수 있다. limit 에는 구분자의 repetition(반복 횟수)을 지정할 수 있다

e.g

String str = "123-456-789-0"

str.split('-', '') // "1234567890"

str.split("[0-9]","") // "1234567890"

str.split('-', 1) // "123456-789-0"

str.split('-', 2) // "123456789-0"

String substring(int startIndex)

String substring(int startIndex, int endIndex)

 원본의 문자열로 부터 startIndex 부터 마지막까지의 문자열을 반환하거나, endIndex 를 지정해주면 startIndex ~ endIndex 사이의 문자열을 반환해준다

int indexOf(String str)

int lastIndexOf(String str)

int indexOf(String str, int fromIndex)

int lastIndexOf(String str, int fromIndex)


 전체 문자열이나 fromIndex 에서 시작하는 부분 문자열을 검색해서 str 이 처음 또는 마지막으로 나타난 위치를 얻는다. 일치하는 부분을 찾지 못하면 -1을 리턴한다.

String replace(CharSequence oldString, CharSequence newString)

String replaceAll(String regex, String replacement)


oldString 이 나타난 부분을 모두 newString 으로 변환하여 문자열을 리턴해준다.

replaceAll 도 replace 함수와 비슷하지만, regex 에 정규표현식을 사용할 수 있다

e.g 
String str = "안녕하세요\n나나메어입니다"

str.replaceAll("\n"," ") // 안녕하세요 나나메어입니다

 

String toUpperCase()

String toLowerCase()


 문자열의 모든 문자를 대문자 또는 소문자로 변환해서 문자열을 리턴해준다

String trim()

 문자열의 앞뒤 공백을 모두 제거한 문자열을 리턴한다

 

 

728x90