[Java] String 매소드

이대건·2024년 2월 15일

Java

목록 보기
8/17
post-thumbnail

매번 햇갈리는 String 매소드인 substring()과 replace()부터 String관련된 주요 매소드를 알아보자 String은 immutable하여 문자열 조작시 새로운 문자열이 반환되는 방식이다.

charAt(int index)

  • String의 특정 인덱스에 해당하는 char 값을 리턴

substring(int beginIndex, int endIndex)

	Stirng s = "0123456789";
    String subS = s.substring(3,8);
    //subS == "34567"
  • 인덱스 구간 [beginIndex, endIndex)에 해당하는 새로운 문자열을 리턴
  • endIndex는 생략가능
    • 생략시 endIndex는 문자열 끝임

concat(String str)

    String s = "A";
    s = s.concat("BC");
    // s == "ABC"
  • s.concat()은 기존 String에 매개변수로 받은 String을 연결하여 새로운 String을 리턴한다.

replace(char oldChar, char newChar)

    String s = "ABCBC";
    s = s.replace('B', 'K');
    // s == "AKCKC"
  • 문자 하나 대치

replace(CharSequence target, CharSequence replacement)

    String s = "ABCBC";
    s = s.replace("BC", "K");
    // s == "AKK"
  • CharSequence는 String, StringBuilder, StringBuffer의 인터페이스이다.
  • 매개변수에 문자열을 넣는다면 이 함수가 호출될 것
  • 문자열을 대치

replaceAll(Stirng regex, String replacement)

	String s = "ABDEF";
    s = s.replaceAll("[ABC]", "K");
    // s == "KKDEF"
    String s = "{1,2,{3}}";
    s = s.replaceAll("[{}]", "");
    // s== "1,2,3"
  • 정규표현식에 매치되는 문자열을 replacement로 대치

정규표현식 regular expression

trim()

	String s = "{{1,2,3},{2,1},{1,2,4,3},{2}}";
    String repS = s.replaceAll("[{}]", " ");
    //repS == "  1,2,3 , 2,1 , 1,2,4,3 , 2  "
    
	String trimed = repS.trim();
    // trimed == "1,2,3 , 2,1 , 1,2,4,3 , 2"
  • String의 앞, 뒤 공백을 제거한 문자열을 반환
  • 위 코드에서는
    1. String s에서 "{" 또는 "}"를 공백으로 대체한다
    2. 맨 앞과 맨 뒤에 공백이 없는 문자열을 만든다.

split(String regex)

	String s = "{{1,2,3},{2,1},{1,2,4,3},{2}}";
	String trimed = s.replaceAll("[{}]", " ").trim();
	String[] strArr = trimed.split(" , ");
    // strArr == {"1,2,3", "2,1", "1,2,4,3", "2"}
  • " , "을 기준으로 배열 원소를 나누어 String 배열을 리턴
profile
일낸머스크

0개의 댓글