[문자열] 문자열 다루기

Ethan·2022년 6월 15일
0

파이썬에서 문자열을 다루는 방법은 여러 가지가 있다.


1. 원시 문자열

이스케이프 문자를 무시할 때 사용한다.

# 이스케이프 사용
print("don\'t touch me")
>>> don't touch me

# 원시 문자열 사용
print(r"don\'t touch me")
>>> don\'t touch me

2. startswith, endswith

이름만 봐도 OO으로 시작하거나 끝나는 것에 대한 메소드임을 알 수 있다.
특정 문자열로 시작하거나 끝나는 것을 탐색할 때 사용한다.

EmployeeID = ['OB94382', 'OW34723', 'OB32308', 'OB83461', 
              'OB74830', 'OW37402', 'OW11235', 'OB82345'] 
              
# 'OB'로 시작하는 직원 ID 전부 탐색
Production_Employee = [P for P in EmployeeID if P.startswith('OB')]
Production_Employee
>>> OB94382, OB32308, OB83461, OB74830, OB82345

3. 공백 문자 처리 (Trimming)

Trimming은 다듬는다는 뜻이다. 프로그래밍에서 인식하는 공백 문자는 띄어쓰기나 tab만 있는 게 아니기 때문에 각자 맞는 처리 방법이 필요하다.

  • 스페이스(space) : 한 칸 띄어쓰기

  • 탭(tab), \t : 네 칸 띄어쓰기. 두 칸일 때도 있음

  • 줄 바꿈(new line) : 줄 바꿈

  • 라인 피드 (line feed, 개행), \n : 줄 바꿈과 동일함

  • 캐리지 리턴 (carriage return, 복귀), \r : 커서를 맨 앞으로 이동시킴.
    커서를 원위치로 복귀(return)한다는 뜻이다. 커서를 맨 앞으로 보내고, \r 뒤에 문자가 있으면 그 문자를 출력한다.

print("사회적\r거리두기")
>>> 거리두기
  • strip() : 공백문자 제거
txt = "      Strip white spaces.      "
print('[{}]'.format(txt))
>>> [      Strip white spaces.      ]

#- 양쪽 공백 제거 : strip()
print('[{}]'.format(txt.strip()))
>>> [Strip white spaces.]

#- 왼쪽 공백 제거 : lstrip()
print('[{}]'.format(txt.lstrip()))
>>> [Strip white spaces.      ]

#- 오른쪽 공백 제거 : rstrip()
print('[{}]'.format(txt.rstrip()))
>>> [      Strip white spaces.]

4. 대소문자 처리

  • upper() : 모든 문자를 대문자로 변환

  • lower() : 모든 문자를 소문자로 변환

  • capitalize() : 첫 글자만 대문자로 변환


5. isX 메소드

  • isupper() : 문자열이 모두 대문자면 True, 아니면 False

  • islower() : 문자열이 모두 소문자면 True, 아니면 False

  • istitle() : 문자열의 첫 글자만 대문자면 True, 아니면 False

  • isalpha() : 문자열이 모두 알파벳 문자면 True, 아니면 False

  • isalnum(): 문자열이 모두 알파벳 문자/숫자면 True, 아니면 False

  • isdecimal(): 문자열이 모두 숫자면 True, 아니면 False


6. join(), split()

  • join() : 반복가능한 객체를 받아서 병합하고 문자열로 반환
    큰따옴표("") 안에 구분자를 지정할 수 있음
# join()
stages = ['fundamentals', 'exploration', 'goingdeeper']
",".join(stages)
>>> 'fundamentals,exploration,goingdeeper'
  • split() : 하나의 문자열을 구분자를 기준으로 나누고, 리스트를 반환
    구분자 디폴트값은 쉼표(,)임
#- split()
'fundamentals,exploration,goingdeeper'.split(',')
>>> ['fundamentals', 'exploration', 'goingdeeper']
  • replace() : replace(s1, s2) 형식으로 s1을 s2로 변환
sent = 'I can do it!'
sent.replace('I', 'You')
>>> 'You can do it!'

7. 불변 문자열과 가변 문자열

가변 객체 (mutable object)

  • 객체를 생성한 후 객체의 값을 수정 가능
  • 변수는 값이 수정된 같은 객체를 가리키게 됨
  • e.g. list, set, dict

불변 객체 (immutable object)

  • 객체를 생성한 후 객체의 값을 수정할 수 없음
  • 변수는 해당 값을 가진 다른 객체를 가리키게 됨
  • e.g. int, float, complex, bool, string, tuple, frozen set

REF

profile
재미있게 살고 싶은 대학원생

0개의 댓글