English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 프로세스 제어

Java 배열

Java 대상 지향적(I)

Java 대상 지향적(II)

Java 대상 지향적(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 및 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java String split() 사용 방법 및 예제

Java String(문자열) 메서드

Java String split() 메서드는 지정된 정규 표현식에서 문자열을 분할하고 서브 문자열 배열을 반환합니다.

문자열 split() 메서드의 문법은 다음과 같습니다:

string.split(String regex, int limit)

split() 매개변수

split() 메서드는 두 개의 매개변수를 취할 수 있습니다:

  • regex - 문자열이 이 정규 표현식에서 분할됩니다(문자열이 될 수 있습니다)

  • limit 선택 사항-생성할 서브 문자열의 개수를 지정합니다

매개변수를 전달하지 않으면 split()는 모든 가능한 서브 문자열을 반환합니다.

split() 반환 값

  • 서브 문자열 배열을 반환합니다.

주의:전달된 정규 표현식이 split()에 유효하지 않으면 split() 메서드는 PatternSyntaxException 예외를 투げ던집니다.

예제1split() 매개변수 없음 예제

//배열을 문자열로 변환하기 위해 배열을 가져옵니다
//배열을 출력하는 데 사용
import java.util.Arrays;
class Main {
    public static void main(String[] args) {
        String vowels = "a::b::c::d:e";
        //"::"에서 문자열을 분할합니다
        //결과를 문자열 배열에 저장합니다
        String[] result = vowels.split("::");
        //배열을 문자열로 변환하여 출력
        System.out.println("result = ", + Arrays.toString(result));
    }
}

출력 결과

result = [a, b, c, d:e]

여기서는 "::"에서 문자열을 분할합니다. 매개변수 limit가 전달되지 않았기 때문에 반환된 배열은 모든 서브 문자열을 포함합니다.

limit 매개변수를 포함한 split()

  • limit 매개변수가 0 또는 음수인 경우 split()는 모든 서브 문자열을 포함한 배열을 반환합니다.

  • limit 매개변수가 양수(예: n)인 경우 split()는 최대 n 개의 서브 문자열을 반환합니다.

예제2limit 매개변수를 포함한 split()

//배열을 문자열로 변환합니다
import java.util.Arrays;
class Main {
    public static void main(String[] args) {
        String vowels = "a:bc:de:fg:h";
        // ":"에서 문자열을 분할합니다
        // limit = -2; 배열은 모든 서브 문자열을 포함합니다
        String[] result = vowels.split(":", -2);
        System.out.println("limit가 0일 때의 반환 결과 =" -2 " + Arrays.toString(result));
        // limit = 0; 배열은 모든 서브 문자열을 포함합니다
        result = vowels.split(":", 0);
        System.out.println("limit가 0일 때의 반환 결과 =" + Arrays.toString(result));
        // limit = 2; 배열은 최대2개의 문자열
        result = vowels.split(":", 2);
        System.out.println("limit가 0일 때의 반환 결과 =" 2 " + Arrays.toString(result));
        // limit = 4; 배열은 최대4개의 문자열
        result = vowels.split(":", 4);
        System.out.println("limit가 0일 때의 반환 결과 =" 4 " + Arrays.toString(result));
        // limit = 10; 배열은 최대10개의 문자열
        result = vowels.split(":", 10);
        System.out.println("limit가 0일 때의 반환 결과 =" 10 " + Arrays.toString(result));
    }
}

출력 결과

limit가 -2 [a, bc, de, fg, h]
limit가 0일 때의 반환 결과 = [a, bc, de, fg, h]
limit가 2 [a, bc:de:fg:h]
limit가 4 [a, bc:de:fg:h]
limit가 10 [a, bc, de, fg, h]

주의:정규 표현식을 첫 번째 매개변수로 사용합니다. 특수 문자(예: \, |, ^, " 등)를 사용하려면*、+ 와 같은 문자는 응축되어야 합니다. 예를 들어, 우리는\\를 사용해야 합니다.+ 를 분할하려면 +.

예제3split() 메서드를 사용하여+문자 위치

//배열을 문자열로 변환하기 위해 배열을 가져옵니다
//배열을 출력하는 데 사용
import java.util.Arrays;
class Main {
    public static void main(String[] args) {
        String vowels = "a+e+f";
        //문자열을 분할하려면+
        String[] result = vowels.split("\\+");
        //배열을 문자열로 변환하여 출력
        System.out.println("result = ", + Arrays.toString(result));
    }
}

출력 결과

result = [a, e, f]

여기서+로 문자열을 분할하려면+이유는+특수 문자로 간주됩니다. 정규 표현식에서 특별한 의미를 가집니다.

Java String(문자열) 메서드