
파이썬 문자열 다루기 - 자르기와 합치기(split, join 함수)
파이썬으로 데이터를 다루다 보면 글자들을 원하는 기준으로 나누거나, 여러 글자 조각들을 하나로 묶어야 할 때가 많습니다. 마치 문장을 단어별로 나누거나, 나뉜 단어들을 다시 문장으로 만드는 것과 같습니다. 이번 강의에서는 파이썬에서 문자열(글자 덩어리)을 손쉽게 '자르고(split())' 또는 '합치는(join())' 방법에 대해 자세히 배워보겠습니다.
이 기능을 익히면 여러분은 파이썬으로 다양한 형태의 텍스트 데이터를 효율적으로 처리할 수 있는 강력한 도구를 얻게 됩니다.
문자열을 왜 자르고 합쳐야 할까요?
우리가 일상에서 사용하는 대부분의 정보는 글자(텍스트) 형태로 되어 있습니다. 예를 들어, 웹사이트의 내용, 이메일, 문서 파일, 데이터 파일(CSV 등) 모두 글자로 이루어져 있죠. 이러한 글자 데이터에서 원하는 정보를 얻거나 분석하려면, 때로는 글자 덩어리 전체를 다루기보다 특정 기준에 따라 나누거나(자르기), 필요한 부분만 가져와 다시 합치는(합치기) 작업이 필요합니다.
예를 들어,
- "사과,바나나,딸기" 라는 글자에서 '사과', '바나나', '딸기'를 각각 분리해야 할 때
- "홍길동-010-1234-5678" 이라는 글자에서 이름, 지역번호, 전화번호를 따로 구분해야 할 때
- ['안녕하세요', '파이썬', '입니다'] 와 같이 나뉜 글자들을 "안녕하세요 파이썬 입니다" 처럼 하나의 문장으로 만들 때
이럴 때 파이썬의 split() 함수와 join() 함수가 아주 유용하게 사용됩니다.
문자열 자르기: split() 함수 사용하기
split() 함수는 하나의 문자열을 특정 기준(구분자)으로 나누어 여러 개의 문자열로 만들어 줍니다. 나뉘어진 문자열들은 '리스트'라는 형태에 담겨서 반환됩니다. 리스트는 여러 개의 값들을 순서대로 모아 놓은 것이라고 생각하시면 됩니다.
예시 1 : 공백으로 문자열 자르기
split() 괄호 안에 아무것도 넣지 않으면, 기본적으로 공백(띄어쓰기, 탭, 줄바꿈 등)을 기준으로 문자열을 자릅니다.
위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.
결과를 보면 네 개의 단어가 리스트([]) 안에 묶여 있는 것을 확인할 수 있습니다.
예시 2: 특정 문자를 기준으로 문자열 자르기
공백이 아닌 다른 문자(예: 쉼표 ,, 하이픈 -)를 기준으로 자르고 싶다면, split() 괄호 안에 해당 문자를 넣어주면 됩니다.
위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.
['010', '1234', '5678']
쉼표를 기준으로 자른 과일 목록과 하이픈을 기준으로 자른 전화번호 부분이 각각 리스트로 잘 나뉘어 담겨 있습니다.
문자열 합치기: join() 함수 사용하기
join() 함수는 split()과는 반대로, 여러 개의 문자열이 담긴 리스트(또는 다른 형태의 묶음)를 하나의 문자열로 합쳐 줍니다.
join() 함수는 조금 독특하게 사용됩니다. 합칠 문자열들을 어떤 기호로 연결할 것인지, 그 '연결 고리'가 되는 문자열에 붙어서 사용합니다. 즉, '연결고리문자열'.join(합칠_문자열들의_리스트) 와 같은 형태가 됩니다.
예시 3: 리스트의 문자열들을 공백으로 합치기
위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.
예시 3.2: 리스트의 문자열들을 특정 기호로 합치기
공백 대신 다른 기호(-, / 등)를 연결 고리로 사용할 수 있습니다.
위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.
나뉘어 있던 전화번호 부분이 하이픈으로 잘 연결되어 하나의 문자열이 되었습니다.
주의:
join() 함수는 리스트 안에 있는 요소들이 모두 문자열일 때만 동작합니다. 만약 숫자와 같이 문자열이 아닌 요소가 섞여 있다면 오류가 발생합니다. 다른 형태의 데이터가 있다면 str() 함수를 사용하여 문자열로 변환한 후에 사용해야 합니다.
핵심 : split()은 문자열을 특정 구분자로 나누어 리스트로 만들고, join()은 리스트의 문자열들을 특정 연결 고리로 합쳐 하나의 문자열로 만듭니다.
마무리 요약
이번 강의에서는 파이썬에서 문자열을 자르는 split() 함수와 합치는 join() 함수에 대해 배웠습니다. split()은 구분자를 기준으로 문자열을 나누어 리스트를 반환하고, join()은 리스트 안의 문자열들을 특정 연결고리로 합쳐 하나의 문자열로 만듭니다. 이 두 함수는 실제 파이썬 프로그래밍에서 텍스트 데이터를 다룰 때 매우 자주 사용되므로 꼭 익혀두시기 바랍니다.
실제 코드를 직접 입력하고 실행하면서 결과를 확인해보세요. 질문이 있다면 댓글에 남겨주세요.
다음 강의에서는 더 다양한 파이썬 자료구조에 대해 배워보겠습니다.