IT

[파이썬 기초] 파이썬 문자열(2) - 문자열 연산자 및 추출

생각파워 2018. 11. 23. 23:26

1. 문자열 결합 : + 

+(플러스) 연산자를 이용하면 두 문자열을 결합할 수 있다.

>>> a = 'abc'
>>> b = 'def'
>>> a + b
'abcdef'

 

2. 문자열 복제 : *

* 연산자를 이용하면 문자열을 지정한 숫자만큼 복제할 수 있다.

>>> a = 'abc'
>>> b = 'def'
>>> a * 3                        # 'abc' 가 세번 반복
'abcabcabc'
>>> b * 2                        # 'def' 가 두번 반복
'defdef'

 

3. 문자추출 : []

문자열에 인덱스를 주면 해당위치의 문자를 추출할 수 있다.

>>> letters[0]
'p'
>>> letters[3]
'g'
>>> letters[7]
'm'

 

 

3. 문자열 슬라이스 : [start:end:step]

문자열에 대괄호와 오프셋을 이용하여 문자열 일부를 추출해 낼 수 있다.

문자열[start:end]을 지정하면 start부터 end - 1까지 문자열을 추출한다.

여기에 문자열[start:end:step]과 같이 step을 추가하면 step만큼 건너뛰면서 문자열을 추출한다.

예제를 살펴보자. 

 

아래 예제는 전부 같은 값을 추출한다.

>>> letters = 'programmer'
>>> letters[0:10]       # 'programmer'의 길이가 9이기 때문에 전체를 추출하려면 시작은 0, 끝은 9가 돼야하기 때문에 [0:10]으로 지정
'programmer' 
>>> letters[:]            # start와 end값을 지정하지 않음
'programmer'
>>> letters[::]           # start와 end, step값을 지정하지 않음
'programmer'
>>> letters[0:]          # end값을 지정하지 않으면 끝까지
'programmer'
>>> letters[0:300]     # end값을 크게 지정해도 끝까지
'programmer'
>>> letters[:10]        # start값을 지정하지 않으면 처음부터
'programmer'
>>> letters[::1]         # step을 1로 지정하는것은 지정하지 않는것과 동일
'programmer'

 

중간 문자열을 추출해보자

>>> letters[3:10]         # 3부터 10-1(9)까지 값 추출
'grammer'
>>> letters[3:]            # 3부터 끝까지 추출
'grammer'
>>> letters[-3:10]        # 끝에서 3번째(-3)부터 10-1(9)까지 추출
'mer'
>>> letters[-9:-3]         # 끝에서 9번째(-9)에서부터 -3-1(-4) 까지 추출
'rogram'
>>> letters[0:10:2]        # 처음부터 10-1(9)까지 2 step씩 건너뛰면서 추출
'porme' 

 

슬라이스를 이용하여 문자열을 반전 시킬수도 있다.

>>> letters[::-1]
'remmargorp' 

자주 쓰이는 방법이니 기억해놓자.

반응형