문자열
문제만 나오면 대충은 아는데 제대로 몰라서 항상 검색해서 풀이하게 된다. 이번 기회에 잘 기억해두려고 정리하는 포스팅!
java에서 문자열은 자바에서 제공하는 String
클래스를 사용한다.
String 객체를 생성한 후, 문자열을 조작할 때 사용할 수 있는 메소드를 몇가지 기억해보자.
원하는 문자열만큼 추출하는 메소드. subsring에는 2가지가 있다.
substring (int beginIndex)
: 시작 인덱스부터 끝까지substring (int beginIndex, endIndex)
: 시작 인덱스부터 끝 인덱스-1까지String str = "0123456789";
str.substring(5); // 56789
str.substring(1,4); // 123
split(String regex)
: 파라미터로 들어오는 문자열을 기준으로 문자열을 쪼갠다. String[]을 리턴함. String str = "abcd#efg";
String[] splited = str.split("#"); // splited[0]: abcd, splited[1]: efg
String str2 = "aaa bbb ccc";
String[] splited2 = str.split(" "); // splited2[0]: aaa, splited2[1]: bbb, splited2[2]: ccc
문자열을 다른 문자열로 치환할 때 사용.
치환 메소드이긴 한데 주로 문자열에서 특정 문자를 삭제할때 유용하게 사용한다.
replace(CharSequence target, CharSequence replacement)
: 모든 target replacement로 치환String str = "a,b,c,d,e";
System.out.println(str.replace(",", " ")); // a b c d e
System.out.println(str.replace(",", "")); // abcde
replaceAll(String regex, String replacement)
: replace()와 비슷하나, 첫번째 인자로 정규식을 넣는다.
replaceFirst(String target, String replacement)
: 첫번째 발견되는 target만 치환한다.
String str = "a,b,c,d,e";
System.out.println(str.replaceFirst(",", " ")); // a b,c,d,e
System.out.println(str.replace(",", "")); // ab,c,d,e
compareTo(), charAt() 등의 여러 메소드가 더 있지만 나중에 더 정리해보도록 하겠다!