[JAVA] 문자열 자르는 split()과 문자열 연결하는 join()

2024. 12. 6. 16:07·공부/JAVA

1) split() : 문자열을 특정 구분자를 기준으로 나누어 문자열 배열로 반환하는 메서드

String[] split(String regex)
String[] split(String regex, int limit)

- regex (정규 표현식) : 문자열을 나눌 때 사용할 기준. 정규 표현식 및 단순한 문자열 사용 가능(공백, 쉼표, 콜론 등)

  * 정규 표현식 사용할 때 ., |, *은 정규표현식에서 의미를 갖기 때문에 이스케이프 문자 \\ 를 사용해야 한다.
- limit : 배열 길이의 최대 개수. 자르는 횟수나 방식 조절

 

▷ limit 파라미터

limit 값 > 0  : 최대 limit -1번만 자르고 나머지는 그대로

0 : 끝에 생긴 빈 문자열은 자동으로 제거 (기본 동작)

< 0 : 제한 없이 모두 자르고, 빈 문자열도 포함 ~> 나눈 전체 개수를 정확히 세고 싶을 때 사용

 

- split()은 배열을 반환하므로 길이/내용 확인할 때 for문 또는 Arrays.toString()이 필요하다.

 

split("") : 글자 단위로 하나씩 나눔

split(",") : ,로 나누고 끝에 빈 문자열 제거

split("", -1) : ,로 나누고 빈 문자열까지 모두 포함 

split("\\s+") : 공백 여러 개 기준으로 나눔

 

 

 

예)

https://amy-g.tistory.com/90

 

[프로그래머스/java/Lv.0] 공백으로 구분하기 1

* 문제 풀이class Solution { public String[] solution(String my_string) { String[] answer = my_string.split(" "); return answer; }} split() 함수를 이용해 공백 단위로 문자를 나눈다.   * 프로그래머스 다른 풀이https://school.

amy-g.tistory.com

 

 

 

예)

public class Main {
    public static void main(String[] args) {
        String str = "apple,banana,orange";
        String[] fruits = str.split(",");
        
        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

/*
출력
 ↓
apple
banana
orange
*/

 

 

* Arrays.toSTring() 사용해서 배열의 요소를 한 줄에 출력할 수 있다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String str = "apple-banana-orange";
        String[] fruits = str.split("-");
        
        System.out.println(Arrays.toString(fruits));
    }
}

 

 

 

 

2) join() : 여러 문자열을 특정 구분자로 연결할 때 사용

배열 요소값을 '구분 문자열'로 연결하여 문자열 값으로 반환

인수값이 있을 경우 기본적으로 '구분 문자열'로 추가됨

연결값이 없을 경우(예: 마지막 연결 값) '구분 문자열' 적용되지 않음

 

String result = String.join(구분자, 문자열 배열 또는 리스트);
/*
- 구분자: 각 문자열 사이에 삽입할 문자열(예: ", ", "-", " " 등)
- 문자열 배열 또는 리스트: 연결할 문자열들의 컬렉션
*/

=> 구분자로 연결된 하나의 문자열을 반환

 

 

 

예) 프로그래머스 풀이

class Solution {
    public String solution(String[] arr) {
    	arr = new String[]{"a","b","c"}
        return String.join("", arr);
    }
}

결과값 => "abc"

 

 

 

예)

public class Main {
    public static void main(String[] args) {
        String[] words = {"Apple", "Banana", "Cherry"};
        String result = String.join(", ", words);
        System.out.println(result);
    }
}

결과값 => Apple, Banana, Cherry

 

 

 

 

 

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

'공부 > JAVA' 카테고리의 다른 글

[JAVA] 데이터 변환 valueOf() / 문자열을 문자 배열로 반환 toCharArray()  (0) 2025.01.25
[JAVA] Math.abs() 함수  (0) 2025.01.13
[JAVA] 문자열 포함 확인 contains() / 문자열 대체 replace() / 문자열 추출 substring()  (0) 2024.12.04
length와 length()  (0) 2024.11.19
[JAVA] 문자열 반복 repeat()  (0) 2024.11.14
'공부/JAVA' 카테고리의 다른 글
  • [JAVA] 데이터 변환 valueOf() / 문자열을 문자 배열로 반환 toCharArray()
  • [JAVA] Math.abs() 함수
  • [JAVA] 문자열 포함 확인 contains() / 문자열 대체 replace() / 문자열 추출 substring()
  • length와 length()
amying
amying
공부해보겠슨
  • amying
    꽁꽁 얼어붙은 자바 위를 자박자박
    amying
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (332)
      • 공부 (55)
        • JAVA (17)
        • Spring (17)
        • Java Script (1)
        • React (0)
        • SQL (3)
        • DB (1)
        • CS (13)
        • 기술면접 (3)
      • Git (2)
      • 강의 (36)
        • 부스트코스: Connect On: 테크와 나를 잇.. (16)
        • 부스트코스: CS50 (20)
      • 네이버 부스트캠프 베이직 (25. 06) (0)
      • 에러 (10)
      • 코테 (205)
        • 백준 (29)
        • 프로그래머스 JAVA Lv.0 (116)
        • 프로그래머스 JAVA Lv.1 (7)
        • 프로그래머스 SQL (53)
      • 개인 프로젝트 (16)
        • 책첵 CHAEKCHECK (2)
        • 일정 관리 서비스 만들기 (0)
        • 게시판 만들기 (eclipse-JSP) (14)
      • 이것저것 (4)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    CS50
    책첵개발일지
    ORACLE에러
    부스트코스강의
    업무자동화
    프로그래머스
    에러
    알고리즘
    Java
    데이터연동
    오라클에러
    git명령어
    springbot
    코테
    부스트코스
    코딩테스트_입문
    lombok
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
amying
[JAVA] 문자열 자르는 split()과 문자열 연결하는 join()
상단으로

티스토리툴바