프로그래밍/Python

[Python] 문자열에 대하여 - 2

베린이 2023. 12. 1. 07:52
반응형

지난 글에 이어 문자열에 활용할 수 있는 함수들에 대해 알아보겠습니다.

2023.11.29 - [프로그래밍/Python] - [Python] 문자열에 대하여 - 1

 

[Python] 문자열에 대하여 - 1

- 문자열 설명 문자열은 리스트와 비슷하다고 보시면 됩니다. a = "엄마가 섬그늘에" print(a[0]) print(a[1:5]) print(a[-2]) print(a[-6:-3]) >> 엄 >> 마가 섬 >> 늘 >> 가 섬 리스트와 마찬가지로 '+'(더하기)나 '*'(

veriln-e.tistory.com

 

- 문자열 함수 활용 방법

3. 공백

  • strip: 공백 제거(문자열 앞, 뒤에 있는 공백만 제거 가능, 중간에는 불가)
  • rstrip: 문자열 뒤에 있는 공백 제거
  • lstrip: 문자열 앞에 있는 공백 제거

예시를 통해 더 자세히 알아봅시다.

#strip 함수 사용법: 문자열.strip()

a = "    P A S S    "

print(a.strip())
print(a.rstrip())
print(a.lstrip())

>> P A S S
>>     P A S S
>> P A S S

 

또한 strip 함수의 괄호를 활용할 수 있습니다.

#strip 함수 사용법: 문자열.strip('제거할 문자열')

a = "####P # A # S # S####"

print(a.strip('#'))
print(a.rstrip('#'))
print(a.lstrip('#'))

>> P # A # S # S
>> ####P # A # S # S
>> P # A # S # S####

 

그렇다면 문자열 사이에 있는 공백은 제거할 수 없을까요?? for문과 if문을 적절히 활용하면 문자열 내부에 있는 공백을 없앨 수 있습니다. 다음의 예시를 보시죠.

a = "####P  A  S  S####"
result = ""

for i in range(0, len(a)):
    if a[i] != ' ':
        result = result + a[i]

print(result)

>> ####PASS####

 

a의 값 중 공백이 아닐 때 result에 a의 값을 추가한다는 코드입니다. 결과를 보면 문자열 내부의 공백이 없어진 걸 확인할 수 있습니다. 물론 6번째 줄에 result = result + a[i] 대신 result += a[i]를 사용해도 됩니다.

a = "####P  A  S  S####"
result = ""

for i in range(0, len(a)):
    if a[i] != ' ':
        result += a[i]

print(result)

 

4. 변경

replace 함수를 활용하여 문자열을 변경할 수 있습니다.

#replace 함수 활용 방법: 문자열.replace('기존','변경')
a = "엄마가 섬그늘에"

a = a.replace('엄마가','아빠가')

print(a)

>> 아빠가 섬그늘에

 

5. 분할, 결합

  • split: 공백이나 지정된 문자가 사이에 있는 경우 리스트로 바꿔줌
  • splitlines: 줄 단위로 분리
  • join: 문자열을 하나로 합해줌

먼저 split 활용방법을 볼까요?

#split 함수 활용 방법: 문자열.split('문자열')
a = "P A S S"

print(a.split())

>> ['P', 'A', 'S', 'S']

 

문자열 a에서 띄어쓰기를 기준으로 분리해서 리스트가 만들어진 것을 확인할 수 있습니다. 괄호 안에 문자를 넣어 분리 기준을 바꿀 수도 있습니다.

#split 함수 활용 방법: 문자열.split('문자열')
a = "P#A#S#S"

print(a.split('#'))

>> ['P', 'A', 'S', 'S']

 

다음은 splitlines에 대해 알아볼껀데 그전에 다음 코드를 볼까요?

a = "Test\nPASS"

print(a)

>> Test
>> PASS

 

문자열 내부에 \n을 넣어 줄바꿈을 할 수 있습니다. splitlines는 줄이 바뀔 때마다 분리해서 리스트로 만들어 줍니다.

#splitlines 함수 활용 방법: 문자열.splitlines()

a = "Test\nPASS"

print(a.splitlines())

>> ['Test', 'PASS']

 

마지막으로 join 함수에 대해 알아보겠습니다. join은 괄호 안에 있는 문자열 사이에 원래 문자열을 넣어주는 함수입니다.

#join 함수 활용 방법: 문자열.join('문자열')

a = "%&"

print(a.join('PASS'))

>> P%&A%&S%&S

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 함수에 대하여  (3) 2023.12.06
[Python] 문자열에 대하여 - 3  (0) 2023.12.04
[Python] 문자열에 대하여 - 1  (1) 2023.11.29
[Python] 딕셔너리에 대하여  (2) 2023.11.27
[Python] 튜플에 대하여  (0) 2023.11.22