String 클래스의 메소드를 사용해 푸는 코딩테스트 문제가 많아서 맨날 찾기 보단 이 참에 정리해보자 해서 쓰는 글
편의상 String 객체는 str1,2,3 등으로 선언되었다고 가정
()를 감싼 인자는 생략 가능
boolean equals(String str)
문자열 비교 메소드
두 문자열이 같다면 true 아니면 false를 반환한다.
str.equals(str1);
int compareTo(String str)
문자열 비교 메소드
두 문자열이 같다면 0을 반환하며
해당 문자열이 인수로 전달된 문자열보다 작으면 음수 크면 양수 반환
str.compareTo(str1);
int compareToIgnoreCase(String str)
문자열 비교 메소드
compareTo
와 똑같이 동작하지만 대소문자 구분을 하지 않는다.
int compareTo(String string2)
char charAt(int index)
문자열에서 해당하는 인덱스에 해당하는 글자 하나를 출력한다.
index는 0부터 시작한다.
str.charAt(index);
String concat(String str)
문자열 결합 메소드
str + str1의 결과를 내보낸다.
str.concat(str1)
String trim()
해당 문자열의 맨 앞, 맨 뒤에 포함된 공백문자를 제거한다.
str.trim();
String toLowerCase(), toUpperCase
각각 문자열을 소문자로, 대문자로 전부 변환 시킨다.
str.toLowerCase();
str.toUpperCase();
String substring(int begin, (int end))
한 문자열에서 내용 일부를 추출한다.
단 end를 설정할 시에는 해당 인덱스 이전까지만 추출된다
str.substring(0,5); // index 0 ~ index 4까지만 추출됨
String[] split(String regex)
regex에 해당하는 문자를 구분자로 사용해 문자열 배열을 리턴한다.
regex는 정규식을 뜻한다.
특수문자 중에 정규식에서 사용하는 메타문자(\ ^ $ . | [ ] ( ) * + ? { }
)가 있기때문에 특수문자를 지정시 이에 유의해야한다.
해당 문자들을 사용 시에는 \\
를 붙히거나 []
로 감싸줘서 구분해줘야한다.
str.split("\\.");
String replace(charSequence searchChar, charSequence newChar)
searchChar를 newChar로 바꾼 문자열을 리턴한다.
str.replace("-",".");
String replaceAll(String regex,String replacement)
replace와 같은 기능을 하지만 인자값으로 정규식 사용이 가능하다.
str.replaceAll("[abc]","");
int length()
문자열의 길이를 반환한다.
str.length();
int indexOf(String str, (int fromIndex)), lastIndexOf(String str, int fromIndex)
해당 문자열(str)에서 특정 문자, 문자열(str1)이 처음으로/마지막으로 등장하는 인덱스를 반환한다. 포함되어 있지 않다면 -1을 반환한다.
index 설정 시 index 부터 시작해서 찾는다.
str.indexOf(str1,idx);
str.lastIndexOf(str1,idx);
Boolean contains(String str)
해당 문자열이 포함되었는 지 검사하는 문자열 결과 값을 Boolean 타입으로 리턴한다.
str.contains("ABC")