[Java] 문자열(String) 내장 함수 정리

2024. 1. 11. 17:53·공부하기/Java

 


length()

문자열의 길이를 반환한다.

compareTo()

int compareTo(String str)

str과 현재 인스턴스의 문자열의 내용을 사전순으로 비교한다.

현재 인스턴스가 사전순으로 더 이전이면 음수를, 이후면 양수를, 두 문자열의 내용이 같다면 0을 반환한다.

        String str1 = "apple";
        String str2 = "banana";

        System.out.println(str1.compareTo(str2)); // -1 출력

chatAt()

char chatAt(int index)

인스턴스 변수로 가진 char[] value에서 해당 index의 문자를 반환한다.

concat()

String concat(String str)

(현재 인스턴스의 문자열 + str 인스턴스의 문자열)을 가진 새로운 String 인스턴스를 만들어서 반환한다.

        String str1 = "apple";
        String str2 = "banana";
        String str3 = str1.concat(str2);

        System.out.println(str1); // apple
        System.out.println(str2); // banana
        System.out.println(str3); // applebanana

 

따라서, 두 인스턴스 중 하나라도 문자열(value)이 지정되지 않은 경우 concat을 사용하면 에러가 발생한다.

        String str1 = "apple";
        String str2 = null;
        String str3 = str1.concat(str2); // 에러 발생. 

        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);

contains()

boolean contains(CharSequence s)

지정된 문자열 s가 포함되었는지 확인한다.

startsWith()

boolean startsWith(String prefix)

지정된 문자열 prefix로 문자열이 시작하는지 검사한다.

endsWith()

boolean endsWith(String suffix)

지정된 문자열 suffix로 문자열이 끝나는지 검사한다.

equals() 

boolean equals(Object obj)

매개변수로 받은 문자열과 현재 인스턴스의 문자열의 내용을 비교한다.

문자열의 내용이 같으면 true, 다르면 false를 반환한다.

equalsIgnoreCase()

boolean equalsIgnoreCase(String str)

매개변수로 받은 문자열과 현재 인스턴스의 문자열의 내용을 대소문자 관계없이 비교한다.

indexOf()

int indexOf(int ch)

현재 문자열에서 주어진 문자 ch를 찾아, 해당 인덱스를 반환한다. 

문자열 내에 존재하지 않는다면 -1를 반환한다.

int indexOf(int ch, int pos)

현재 문자열의 pos 인덱스부터 찾기 시작하여 주어진 문자 ch가 위치한 인덱스를 반환한다.

문자열 내에 존재하지 않는다면 -1를 반환한다.

int indexOf(String str)

현재 문자열에서 주어진 문자열 str이 존재하는 인덱스를 반환한다. (제일 첫번째 인덱스)

문자열 내에 존재하지 않는다면 -1를 반환한다.

lastIndexOf()

int lastIndexOf(int ch)

주어진 문자 ch가 위치한 인덱스를 현재 문자열의 오른쪽 끝에서부터 찾아서 반환한다.

문자열 내에 존재하지 않는다면 -1를 반환한다.

int lastIndexOf(String str)

현재 문자열에서 주어진 문자열 str이 존재하는 인덱스를 현재 문자열의 오른쪽 끝에서부터 찾아서 반환한다. (제일 첫번째 인덱스)

문자열 내에 존재하지 않는다면 -1를 반환한다

    String str = "appleToapple";
    int idx1 = str.indexOf("apple"); // 0 반환
    int idx2 = str.lastIndexOf("apple"); // 7반환

replace()

String replace(char old, char nw)

현재 문자열 중 old 문자를 nw 문자로 모두 대체한 문자열을 만들어 반환한다.

String replace(CharSequence old, CharSequence nw)

현재 문자열 중 old 문자열을 nw 문자열로 모두 대체한 문자열을 만들어 반환한다.

replaceAll()

String replaceAll(String regex, String replacement)

현재 문자열 중 regex 문자열과 일치하는 것을 replacement 문자열로 모두 대체한 문자열을 만들어 반환한다.

replaceFirst()

String replaceAll(String regex, String replacement)

현재 문자열 중 regex 문자열과 일치하는 것 중, 첫 번째 것만을 replacement 문자열로 모두 대체한 문자열을 만들어 반환한다.

split()

String[] split(String regex)

현재 문자열을 regex를 기준으로 분리하여 저장한 문자열 배열을 반환한다.

    String animals = "dog,cat,bear,bird,,elephant";
    String[] animalArr = animals.split(",");
    System.out.printf("animals.length()=%d%n",animalArr.length); //animals.length()=6
    for(String animal: animalArr) {
        System.out.printf("%s ",animal); //dog cat bear bird  elephant  
    }
    System.out.println();
    System.out.println(animalArr[4]==""); //true

⭐️ 위처럼 regex가 문자열 내에서 연속해서 나오게 되면 "" 의 빈 문자열이 배열의 요소로 들어가게 된다.

⭐️ regex로 점 .을 사용해주고 싶은 경우엔, regex로 "\\." 을 넣어줘야 한다.

 

String[] split(String regex,int limt)

현재 문자열을 regex를 기준으로 분리하여 저장한 문자열 배열을 반환한다.

단, 지정된 숫자 limit의 크기로 분리하여, 해당 크기를 갖는 문자열 배열을 반환한다. 

    String animals = "dog,cat,bear,bird,,elephant";
    String[] animalArr = animals.split(",",4);
    System.out.printf("animals.length()=%d%n",animalArr.length); //animals.length()=4
    for(String animal: animalArr) {
        System.out.printf("%s ",animal); //dog cat bear bird,,elephant  
    }

* limit의 크기로 분리하되, 뒤에 남는 문자열들은 전부 배열의 마지막 요소로 들어가게 된다.

substring()

String substring(int begin)

현재 문자열의 begin 인덱스부터 마지막 인덱스까지의 범위에 해당하는 부분 문자열을 반환한다.

String substring(int begin,int end)

현재 문자열의 begin 인덱스부터 end 인덱스 전까지의 범위에 해당하는 부분 문자열을 반환한다.

    String apple = "apple";
    System.out.println(apple.substring(3)); //le
    System.out.println(apple.substring(3,apple.length())); //le

toLowerCase()

String toLowerCase()

현재 문자열의 모든 문자를 소문자로 변환하여 반환한다.

toUpperCase()

String toUpperCase()

현재 문자열의 모든 문자를 대문자로 변환하여 반환한다.

trim()

String trim()

문자열의 왼쪽 끝과 오른쪽 끝의 공백을 제거한 문자열을 반환한다.

 

저작자표시 비영리 변경금지 (새창열림)

'공부하기 > Java' 카테고리의 다른 글

Java의 예외처리를 조금 자세히 알아보자  (1) 2025.01.02
[Java] 잠깐 JVM 정리하고 갑시다  (1) 2024.12.31
[Java] CharSequence란?  (0) 2024.01.11
[Java] 문자열(String) 클래스 정리  (0) 2024.01.11
[Java] 스트림(Stream)  (1) 2024.01.10
'공부하기/Java' 카테고리의 다른 글
  • Java의 예외처리를 조금 자세히 알아보자
  • [Java] 잠깐 JVM 정리하고 갑시다
  • [Java] CharSequence란?
  • [Java] 문자열(String) 클래스 정리
다섯자두
다섯자두
All I need is 💻 , ☕️ and a dash of luck
  • 다섯자두
    subbni
    다섯자두
  • 전체
    오늘
    어제
    • 전체 글 (89)
      • 개발 이야기 (0)
      • 만들어보기 (17)
        • FromBookToBook (5)
        • Spring (5)
        • Node.js & React (3)
        • TroubleShooting (4)
      • 공부하기 (72)
        • Network (3)
        • Cloud (1)
        • Database (5)
        • Java (13)
        • Javascript (0)
        • Spring (9)
        • React (18)
        • Algorithm (8)
        • 자료구조 (7)
        • ETC (8)
      • 회고 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • velog
  • 공지사항

  • 인기 글

  • 태그

    mysql
    로그인
    Til
    redis
    aws
    network
    pdf 자동 다운로드
    SSE
    Database
    outbox
    SQL
    알림 기능
    springboot
    자료구조
    HTTP
    java
    프로젝트
    재시도 로직
    실시간 데이터 전송 기술
    알고리즘
    SQS
    최단거리
    Express
    outbox 패턴
    JPA
    티스토리챌린지
    Spring
    오블완
    서명알고리즘
    pdf 프리뷰 실패
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
다섯자두
[Java] 문자열(String) 내장 함수 정리
상단으로

티스토리툴바