Flutter/Dart - 문자열 자르기, 분리하기

split() 메소드로 문자열을 특정 문자로 분리하는 방법을 소개합니다.

1. split()으로 문자열 분리

split(pattern)은 문자열에서 pattern을 찾아 분리하고 리스트로 분리된 문자열들을 리턴합니다.

List<String> split(Pattern pattern)

함수에 pattern 대신에 단순히 문자를 전달하면, 그 문자를 기준으로 문자열을 분리합니다.

아래 예제는 문자열을 ,으로 분리합니다.

void main() {

    String str = "Hello,World,Dart";

    List<String> result = str.split(',');
    print(result);
}

Output:

[Hello, World, Dart]

1.1 다양한 케이스들

다음은 split()의 다양한 예제입니다.

  • 빈 문자열을 split()으로 나누면 빈 리스트 리턴
  • 빈문자열로 문자열을 분리하면 문자열 1개씩 분리
  • 특정 문자로 문자열이 분리되지 않으면 문자열 전체가 리스트에 추가됨
void main() {

    String str = "";
    print(str.split(','));  // []

    str = "ABCDEFG";
    print(str.split(''));   // [A, B, C, D, E, F, G]

    str = "ABCDEFG";
    print(str.split(','));  // [ABCDEFG]
}

Output:

[]
[A, B, C, D, E, F, G]
[ABCDEFG]

2. 패턴으로 문자열 분리

split(pattern) 메소드에 정규표현식 패턴을 인자로 전달하여 문자열을 분리할 수 있습니다.

패턴은 new RegExp(r'pattern') 처럼 전달하면 됩니다. pattern에 정규표현식이 들어갑니다.

아래 예제는 0에서 9사이의 문자를 의미하는 패턴 [0-9]를 사용하여 문자열을 분리하였습니다. 즉, 문자열에 0에서 9사이의 문자가 있으면 문자열을 분리합니다.

void main() {

    String str = "Hello1World2Dart3!";

    List<String> result = str.split(new RegExp(r'[0-9]'));
    print(result);
}

Output:

[Hello, World, Dart, !]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha