Python - 문자열(str) 함수

2023. 12. 31. 14:20·Python/Python 기초문법
728x90

1. split() : 문자열 분리 

()괄호 안의 문자를 기준으로 문자열을 분리해 리스트로 반환

coffee_menu_str = "에스프레소,아메리카노,카페라테,카푸치노"

coffee_menu_str.split(',')
--------------------------------------------------
# result
['에스프레소', '아메리카노', '카페라테', '카푸치노']
"에스프레소,아메리카노,카페라테,카푸치노".split(',')
--------------------------------------------------
# result
['에스프레소', '아메리카노', '카페라테', '카푸치노']
"에스프레소 아메리카노 카페라테 카푸치노".split(' ')
--------------------------------------------------
# result
['에스프레소', '아메리카노', '카페라테', '카푸치노']
"에스프레소.아메리카노.카페라테.카푸치노".split('.')
--------------------------------------------------
# result
['에스프레소', '아메리카노', '카페라테', '카푸치노']

- max split

split("조건", 나눌 개수)
max split(나눌 개수)를 지정해주면, split 조건이 충족되더라도 더 이상 나누지않고 제시된 조건만큼만 string을 나눔

phone_number = "+82-01-2345-6789"

print(phone_number.split('-', 1))
print(phone_number.split('-', 2)) 
------------------------------------------------------------
# result
['+82', '01-2345-6789']
['+82', '01', '2345-6789']

 

2. strip() : 필요없는 문자열 삭제

앞뒤의 공백 혹은 개행문자와 같이 불필요한 부분을 지우고 싶을 때 사용
문자열(str)의 앞뒤에서 지정한 문자(chars) 외 다른 문자를 만날 때 까지만 지정한 문자(chars)를 모두 삭제

tempText = ' Python '
tempText.strip() 
------------------------
# result
'Python'
tempText = 'aaaaaPythonaaa'
tempText.strip('a')
--------------------------------
# result
'Python'

 

- 여러 문자 제거

지우고자 하는 문자를 모두 지정해서 한번에 제거 가능

tempText = 'aaaaabbPythonbbaaaaaa'
tempText.strip('ab')
-------------------------------------------
# result
'Python'

 
문자열(str)의 앞뒤에서 지정한 문자(chars) 외 다른 문자를 만날 때 까지만 지정한 문자(chars)를 모두 삭제하기 때문에 아래 예시에서 'Ball'의 a는 지워지지 않는다!! 

"aaaBallaaa".strip('a')
------------------------
#result
'Ball'

- lstrip(), rstrip()

lstrip()은 문자열 왼쪽만 삭제, rstrip()은 문자열 오른쪽만 삭제

tempText = ' Python '
tempText.lstrip()
--------------------
#result
'Python '
tempText = ' Python '
tempText.rstrip()
--------------------
#result
'Python '

 

3. join() : 문자열 연결

더하기 연산자(+)로 두 문자열 연결 가능

name1 = '철수'
name2 = '영미'

hello = '님, 주소와 전화 번호를 입력해 주세요'

print(name1 + hello)
print(name2 + hello)
------------------------------------------------
# result
철수님, 주소와 전화 번호를 입력해 주세요
영미님, 주소와 전화 번호를 입력해 주세요

 
리스트의 모든 항목을 하나의 문자열로 만들때 join() 활용

address_list = ['서울시', '서초구', '반포대로', '201(반포동)']

a = " "
a.join(address_list)
--------------------------------------------------------------
# result
'서울시 서초구 반포대로 201(반포동)'

 

4. find() : 문자열 찾기

문자열의 위치값(index 번호)을 반환

존재하지 않는 값을 매개변수로 지정하면 find() 함수는 -1을 반환

str_f = 'Python code.'
print("찾는 문자열의 위치:", str_f.find('n'))
print("찾는 문자열의 위치:", str_f.find('Java')) # -1 해당되는 문자 없음
---------------------------------------------------------------------
# result
찾는 문자열의 위치: 5
찾는 문자열의 위치: -1

 

find(찾을 문자열, 시작 위치, 종료 위치) : 시작 위치와 종료 위치 사이에서 찾을 문자열의 위치값을 반환

str_f = 'Python code.'
print("찾는 문자열의 위치:", str_f.find('o',1,5))
print("찾는 문자열의 위치:", str_f.find('o',5))
---------------------------------------------------------------------
# result
찾는 문자열의 위치: 4
찾는 문자열의 위치: 8

 

5. count() : 찾고자 하는 문자열의 개수 반환

만약 찾을 문자열이 없으면 0으로 반환

str_c = "Python is powerful. Python is easy to learn. Python is open"
print("Python의 갯수는?", str_c.count("Python"))
print("Python의 갯수는?", str_c.count("powerful"))
print("Python의 갯수는?", str_c.count("Java"))
------------------------------------------------------------------------
# result
Python의 갯수는? 3
Python의 갯수는? 1
Python의 갯수는? 0

 6. startwith() ,endswith()

각 문자열이 지정된 문자로 시작하는지 또는 끝나는지 체크(검사)할 때 사용

str_c = "Python is powerful. Python is easy to learn. Python is open."
print("Python으로 시작?", str_c.startswith('Python'))
print("is으로 시작?", str_c.startswith('is'))
print(".으로 끝?", str_c.endswith('.'))
print("!으로 끝?", str_c.endswith('!'))
-----------------------------------------------------------------------
#result
Python으로 시작? True
is으로 시작? False
.으로 끝? True
!으로 끝? False

 

7. replace() : 문자열 바꾸기

지정한 문자열을 찾아서 바꾸는 메서드

str_a = 'Python is fast. Python is friendly. Python is open.'

print(str_a.replace('Python', 'IPython'))
---------------------------------------------------------------
# result 
IPython is fast. IPython is friendly. IPython is open.

 

새로운 문자열 부분을 공백으로 두면 바꾸려고하는 기존 값 부분이 삭제됨

str_b = '[Python][is][fast]'
str_b1 = str_b.replace('[','') #문자열에서 특정 문자 제거하는 효과
str_b2 = str_b1.replace(']',' ')
result = str_b2.rstrip()
print(result)
-----------------------------------------------------
# result
Python is fast
728x90

'Python > Python 기초문법' 카테고리의 다른 글

Python - 제어문  (0) 2024.01.01
Python - 함수와 클래스  (2) 2024.01.01
Python - 리스트 함수  (0) 2023.12.31
Python - 사칙연산, 논리연산 및 비교연산  (0) 2023.12.30
Python - 데이터 타입  (0) 2023.12.30
'Python/Python 기초문법' 카테고리의 다른 글
  • Python - 함수와 클래스
  • Python - 리스트 함수
  • Python - 사칙연산, 논리연산 및 비교연산
  • Python - 데이터 타입
GinaKim
GinaKim
안녕하세요! 반갑습니다 :)
  • GinaKim
    디디
    GinaKim
  • 전체
    오늘
    어제
    • 분류 전체보기 (91)
      • Python (43)
        • Python 기초문법 (25)
        • 데이터 시각화 (5)
        • 통계 (8)
        • 크롤링 (5)
      • git (5)
      • streamlit (5)
      • django (5)
      • 머신러닝 (18)
      • Spark (4)
      • Google Cloud Platform (8)
      • Tableau (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
GinaKim
Python - 문자열(str) 함수
상단으로

티스토리툴바