알고리즘 문제 풀이에 유용한 String 관련한 메소드 정리
1. equals
package com.theory;
public class string {
public static void main(String[] args) {
String tmp1 = "abc";
String tmp2 = "abc";
String tmp3 = "zxc";
String tmp4 = "ab";
tmp4 +="c";
if(tmp1==tmp2) {
System.out.println("문자열 ==을 사용해보기");
}
if(tmp1.equals(tmp2)) {
System.out.println("equals 메소드 사용");
}
if(tmp1.equals(tmp3)) {
System.out.println("문자열이 같은 경우");
}else {
System.out.println("문자열이 다른 경우");
}
if(tmp1==tmp4) {
System.out.println("문자열 더한 경우는 ==는 ?");
}
if(tmp1.equals(tmp4)) {
System.out.println("문자열 더한 경우는 equals는 ?");
}
}
}
- 이 외에도 String("abc") 인 경우도 ==을 사용하면 같지 않다는 결과를 가지게 됩니다.
- 결론은 문자열이 같은지 비교할 때는 equals를 사용하는 것을 추천합니다.
2. length()
String length = "adfasdfa";
System.out.println(length.length());
- 결과는 8입니다.
- for문을 돌리는 경우에 length()를 사용하면 유용하게 사용할 수 있습니다.
3. isEmpty()
String empty = "";
System.out.println(empty.isEmpty());
- 결과는 true입니다.
- while 문 등에 조건으로 넣으면 편하게 해결할 수 있는 경우들이 있습니다.
4. indexOf()
String index = "qwertyuasdfghzxcvbn";
System.out.println(index.indexOf("df"));
- 해당 문자열을 찾고 그 문자열이 시작한 인덱스를 반환 해줍니다.
- 만약 그 값이 없으면 -1을 반환하게 됩니다.
5. substring()
String subString = "[abd,eq,a,dv,ad,vq,e]";
System.out.println(subString.substring(1,subString.length()-1));
- 결과는 abd,eq,a,dv,ad,vq,e 가 출력이 됩니다.
- 즉 원하는 부분의 문자열 부분을 가져올 수 있습니다.
6. split()
String split = subString.substring(1,subString.length()-1);
System.out.println(split.split(",")[0]);
System.out.println(split.split(",")[1]);
System.out.println(split.split(",")[2]);
System.out.println(split.split(",")[3]);
System.out.println(split.split(",")[4]);
System.out.println(split.split(",")[5]);
System.out.println(split.split(",")[6]);
- 결과는
abd
eq
a
dv
ad
vq
e
- 원하는 문자열을 잘라서 배열로 저장할 수도 있고, 또는 인덱스로 접근이 가능합니다.
7. ReplaceAll()
String replace = "Hi, Hello, Hi, Name, Hi";
System.out.println(replace.replaceAll("Hi", "Bye"));
- 결과는
Bye, Hello, Bye, Name, Bye
- Hi인 부분을 Bye로 바꿔줍니다.
'Algorithm > 개념 정리' 카테고리의 다른 글
[알고리즘 개념 정리] DFS & BFS 정리 (0) | 2021.08.07 |
---|