Python

[python] 문자열 조작, 문자열 추가, str, format, split 활용, 문자열 추출, 특정 문자 추가, 조건분리

도히츄 2022. 6. 24. 11:03

앞장에서 replace를 활용한 문자열 치환 방법에 대해 다뤘습니다.

이번엔 format, split 활용하여 문자열에 특정 문자를 추가하고 특정 문자를 포함하고 있을때 분리하는 방법을 살펴보도록 하겠습니다.


1. format 함수

 

format 함수란 문자열 내의 특정한 값을 변수로부터 초기화하여 동적으로 문자열을 생성하는 함수입니다.

format 함수를 이용하여 문자열에 특정 문자를 추가하도록 하겠습니다.

 

a = '저의 국적은 {}이며, 나이는 {}살 입니다.'

 

자, 이런 문장을 생성했습니다.

원하는 값을 넣기 위해서 format을 지정해주면 됩니다.

 

a = '저의 국적은 {}이며, 나이는 {}살 입니다.'

# ================================================================

nationality = '한국'
age = '20'

a = '저의 국적은 {}이며, 나이는 {}살 입니다.'.format(nationality,age)
print(a)

>> 저의 국적은 한국이며, 나이는 20살 입니다.

 

 

추가해주고 싶은 문자열 가운데에 {} 중괄호를 넣어주고, 넣어줄 객체를 추가해주면 됩니다.

쉽게 풀이하자면 코드 방식은 다음과 같습니다. 

 

nationality = '한국'
age = '20'

a = '저의 국적은 {nationality}이며, 나이는 {age}살 입니다.'

이렇게 넣어주는 것이라고 생각하시면 됩니다. format(첫번째, 두번째....) 이렇게 순서에 맞게 입력하면 간단하게 원하는 문자열을 추가하고 조작할 수 있습니다.

 


2. split 함수

 

split을 사용하여 문자열을 특정 문자로 분류하고 추출하는 방법을 익히도록 하겠습니다.

a = '오늘 날씨가 너무 좋아요!'

b = '1234-5678-9999'

c = 'ABCDEFFFFFFFFG'

 

예제를 이렇게 입력해주었습니다. 바로 실습해보도록 하겠습니다.

 

in: a = '오늘 날씨가 너무 좋아요!'
in: a.split( ) # space 띄어쓰기 기준으로 문자열 추출 및 분류
Out: ['오늘', '날씨가', '너무', '좋아요!']

in: b = '1234-5678-9999'
in: b.split('-') # - 하이픈 기준으로 문자열 추출 및 분류
Out: ['1234', '5678', '9999']

in: c = 'ABCDEFFFFFFFFG'
in: c.split('F') # F 기준으로 문자열 추출 및 분류
Out: ['ABCDE', '', '', '', '', '', '', '', 'G']

 

문자열.split 를 활용하면 원하는 문자열 특징으로 문자열을 조작하고 추출할 수 있습니다.

주의할 점은 단순히 출력하는 것이기 때문에 객체의 값은 변화하지 않는다는 것, 리스트 형식으로 추출된다는 것 입니다.

만약 a의 값을 출력된 값으로 변환하고 싶다면 함수 앞에 "a ="을 꼭 붙여야합니다.

그러면 a의 값은 리스트 형식으로 변환됩니다.

 

 

a = '오늘 날씨가 너무 좋아요!'
a = a.split( )
print(a)

['오늘', '날씨가', '너무', '좋아요!'] 

# a = ['오늘', '날씨가', '너무', '좋아요!'] 변경되었음

이번 장에서 리스트로 출력되는 split을 확인해보았는데요, 다음 포스팅에서는 리스트에 대해 포스팅하고자 합니다.

split은 데이터프레임 파트에서 더 자세히 다뤄보도록 하겠습니다.