문자열 관련 알고리즘 문제를 풀며, String과 Character 메소드를 활용하는 일이 꽤 있었다.
잘 알고 정리해두어야 나중에 잊지 않고 떠올릴 수 있을 것 같다
내가 사용했던 메소드들만 우선 정리
String[] strs = string.split(" ");
int index = string.indexOf("a"); // 있으면 인덱스번호, 없으면 -1
string = string.substring(5);
---
string = string.substring(1,5);
string = str.replace('#', '1').replace('*', '0') // #은 1, *은 0으로 바꿔버림
string = str.replaceAll("[^A-Z]", ""); // 대문자 A-Z 이외의 문자들을 빈 문자열로 바꿔버림
string = string.repeat(5);
char[] chars = string.toCharArray();
String을 수정하는 건 계속 새로운 String 객체가 생성되는 것이므로 메모리부분에서 좋지 않다고 한다.
ex) string += "블라브라라" -> 이런 식으로 String이 계속 수정되는 것은 안좋음
따라서, StringBuilder를 사용한다.
StringBuilder sb = new StringBuilder();
sb.append("블라라브랄");
...
string = sb.toString(); // StringBuilder -> String
string = sb.reverse().toString();