[파이썬] 문자열 메서드

목차

  • 함수 VS 메서드
  • split()
  • join()
  • find()
  • replace()
  • upper(), lower(), capitalize()
  • strip()

함수 VS 메서드

함수: 단독 실행한다.
메서드: 누군가에 의해서(객체) 실행된다.

함수는 그냥 함수 자체에서 실행되는 구조이고 메서드는 클래스라는 구조 안에서 메서드가 구현되고 객체라는 걸 생성해서 객체에 의해서 실행되는 구조입니다. 지금은 그냥 함수와 메서드는 이런 거구나라고 이해하시면 됩니다!

파이썬에서 메서드를 사용할 때는 .메서드() 이렇게 사용합니다.

split()

split() 메서드는 문자열을 분리해서 리스트로 반환하는 메서드입니다.

사용 방법)

반환받을 변수 = 문자열.split(자르고 싶은 문자열)

예제)

birthday = '2001-08-09'
a = birthday.split('-')
print(a[0], a[1], a[2])

출력 결과:
2001 08 09

join()

join() 지정된 문자열을 이용해서 모든 문자열을 연결하는 메서드입니다.

사용 방법)

반환받을 변수 = 문자열.join(문자열을 연결할 문자열)

예제)

date = ['2021', '08', '09']

d = '-'.join(date)  # '2021-08-09'
print(d)

d1 = ''.join(date)  # '20210809' ,'' 이렇게 사용할 경우 모든 문자열을 이어준다.
print(d1)

출력 결과
2021-08-09
20210809

find()

find() 메서드는 지정한 문자열에 인덱스(index)를 반환하는 메서드입니다. 만약 찾는 문자열이 2개 이상 존재할 경우 제일 첫 번째 문자열에 인덱스를 반환합니다.

  1. find() : 왼쪽에서부터 문자열을 찾습니다.

  2. rfind(): (right + find) 오른쪽에서부터 문자열을 찾습니다.

사용 방법)

반환받을 변수 = 문자열.find(찾을 문자열)

예제)

d = 'hello python'
idx1 = d.find('hello')  # h와 같은 의미이다.
print(idx1)
idx2 = d.find('o')
print(idx2)
idx3 = d.rfind('o')  # (right + find : 오른쪽에서 검색 시작), 그냥 find는 외쪽부터 검색 시작
print(idx3)

출력 결과:
0
4
10

replace()

replace() 메서드는 문자열에 일부를 다른 문자열로 바꾸고 반환하는 메서드입니다.

사용 방법)

반환받을 문자열 = 문자열.replace(변경할려는 문자열, 변경할 문자열) 

예제)

message = '안녕 수잔'
message = message.replace('수잔', '제시카')
print(message)

출력 결과:
안녕 제시카

replace() 메서드는 문자열을 변경할 때 사용하지만 문자열을 제거할 때도 사용 가능합니다.

사용 방법)

반환받을 문자열 = 문자열.replace(제거 하려는 문자열, '') 

'' 이렇게만 사용할 경우 문자열에 아무 값도 넣지 않겠다는 의미입니다. 즉 그냥 변경할 문자열만 사라지게 됩니다.
예제)

tag = '<head>'  # '<' , '>' 제거
tag = tag.replace('<', '').replace('>', '')
print(tag)

출력 결과:
head

메서드는 한 줄에 여러 번 사용이 가능합니다. 여러 번 사용할 경우 .메서드()로 연결해 주면 됩니다. 메서드를 한 줄에 여러 번 사용할 경우 왼쪽부터 오른쪽 순으로 실행됩니다.

upper(), lower(), capitalize()

upper(): 대문자로 변환

lower(): 소문자로 변환

capitalize(): 문자열에 첫 글자만 대문자로 변환하고 나머지를 소문자로 변환

사용 방법)


반환받을 변수 = 문자열.upper()
반환받을 변수 = 문자열.lower()
반환받을 변수 = 문자열.capitalize()

예제)

sample = 'i Am a BOY'
r1 = sample.upper()  # 대문자 변환
r2 = sample.lower()  # 소문자 변한
r3 = sample.capitalize()  # 첫 글자만 대문자
print(r1, r2, r3, sep='\n')

출력 결과:
I AM A BOY
i am a boy
I am a boy

strip()

strip() 메서드는 앞뒤에 불필요한 문자(열)을 제거하는 메서드입니다. 단 중간 문자열은 제거가 불가능합니다.

예제)

s = ' banana   juice  '
print(f'{s.strip()}')  # 아무것도 지정하지 않을 경우 앞뒤 공백이 제거된다.(중간은 제거 불가능)

출력 결과:
banana juice

lstrip(): left + strip (왼쪽 문자(열)을 제거)

rstrip(): right + strip (오른쪽 문자(열)을 제거)

예제)

s2 = '<head>'  # '<', '>' 제거
s2 = s2.lstrip('<').rstrip('>')
print(s2)

출력 결과:
head

이상으로 파이썬 문자열 메서드에 대해서 알아봤습니다. 잘못된 부분이나 부족한 부분 있다면 피드백 감사하겠습니다!!!

좋은 웹페이지 즐겨찾기