Finn.ian
article thumbnail

쉽고 빠르게 한줄로 요약하면,

파이썬에서 Split 함수를 활용하는 이유문자열 조작을 위해서입니다.

함수의 모양은 아래와 같습니다.

 

# Python Split 함수 모양

# split 공백 기준으로 잘라주는 형태
문자열.split()

# '구분자'를 기준으로 잘라주는 형태
문자열.split('구분자')

# '구분자'로 기준을 잡고, 몇 개까지 자를지 결정한다.
문자열.split('구분자', 분할횟수)

# 바로 위의 내용과 동일하게 사용된다. 
문자열.split(sep='구분자', maxsplit=분할횟수)

1. 문자열.split()

공백없이 출력한 경우, 예시입니다.

# Test 코드 작성

class splitTest1 :

    def __init__(self):
        data = "12345"
        values = data.split()

        print('data :', data)
        print('values : ', values)


if __name__ == '__main__':
    splitTest1()

결과

data : 12345
values :  ['12345']

2. 문자열.split('구분자')

구분자에 '-'를 기준으로 잘라보겠습니다.

class splitTest2 :

    def __init__(self):
        data = "010-1234-5678"
        values = data.split('-')

        print('data :', data)
        print('values : ', values)


if __name__ == '__main__':
    splitTest2()

결과

결과를 보시면, -를 기준으로 값이 잘려있는 것을 볼 수 있습니다.

이처럼, 구분자를 활용하여 문자열을 자를 수 있습니다.

data : 010-1234-5678
values :  ['010', '1234', '5678']

3. 문자열.split('구분자', 분할횟수)

구분자는 2.예시와 동일하게 '-' 기준이며, 1개 기준으로 분할하도록 하겠습니다.

예시1.

class splitTest3_1 :

    def __init__(self):
        data = "010-1234-5678"
        values = data.split('-', 1)

        print('data :', data)
        print('split("-", 1) : ', values)


if __name__ == '__main__':
    splitTest3_1()

예시1. 결과

하단 결과를 보시면 '-'를 기준으로 1개를 잘랐을 때, 010만 분리되는 것을 볼 수 있습니다.

data : 010-1234-5678
split("-", 1) :  ['010', '1234-5678']

예시2.

1개가 아닌 4개를 기준으로 분할하겠습니다.

class splitTest3_2 :

    def __init__(self):
        data = "010-1234-5678-0135-2468"
        values = data.split('-', 4)

        print('data :', data)
        print('split("-", 4) : ', values)


if __name__ == '__main__':
    splitTest3_2()

예시2. 결과

하단 결과를 보시는 것과 같이 구분자 - 최대 갯수인 4개까지 분할하여 전체가 분할된 것을 확인하실 수 있습니다.

data : 010-1234-5678-0135-2468
split("-", 4) :  ['010', '1234', '5678', '0135', '2468']

4. 문자열.split(sep='구분자', maxsplit=분할횟수)

3번과 동일한 값이 나오는 형태로 4번이 가장 많이 활용되는 것으로 알고 있습니다.

class splitTest4 :

    def __init__(self):
        data = "010-1234-5678-0135-2468"
        values = data.split(sep = '-', maxsplit= 4 )

        print('data :', data)
        print('split(sep = "-", maxsplit = 4) : ', values)


if __name__ == '__main__':
    splitTest4()

결과

하단 결과를 보시면, 3번의 2번 예시와 동일한 값이 출력되는 것을 확인하실 수 있습니다.

data : 010-1234-5678-0135-2468
split(sep = "-", maxsplit = 4) :  ['010', '1234', '5678', '0135', '2468']
profile

Finn.ian

@Finn_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그