Python

[Python] String (문자열) 다루기 (1)

s_omi 2024. 7. 16. 22:58

String (문자열) 이란?

문자의 연속으로 텍스트 데이터를 저장하는 데 사용된다.

파이썬에서는 작은 따옴표(') 또는 큰따옴표(")로 문자열을 정의할 수 있다.

 

특징

  • 불변성: 문자열은 생성된 후 수정할 수 없습니다. 예를 들어, 문자열의 일부 문자를 변경할 수 없다.
  • 인덱싱과 슬라이싱: 문자열의 각 문자는 인덱스로 접근할 수 있습니다. 인덱스는 0부터 시작한다.
text = "Hello"
first_char = text[0]   # 'H'
substring = text[1:4]  # 'ell'

 

메소드

1. 문자열 변형 및 조작 함수

  • replace(): 문자열 내에서 특정 문자열을 다른 문자열로 교체
text = "Hello, World!"
new_text = text.replace("World", "Python")  # "Hello, Python!"
  • split(): 문자열을 특정 구분자를 기준으로 분리하여 리스트로 반환
text = "apple,banana,cherry"
fruits = text.split(",")  # ['apple', 'banana', 'cherry']
  • join(): 리스트의 요소들을 하나의 문자열로 결합, 특정 구분자를 사용
fruits = ['apple', 'banana', 'cherry']
text = ", ".join(fruits)  # "apple, banana, cherry"
  • 특정 문자 제거
    • strip(): 문자열의 시작과 끝에서 특정 문자를 제거 (기본값은 공백)
    • lstrip(): 문자열의 시작에서 특정 문자를 제거
    • rstrip(): 문자열의 끝에서 특정 문자를 제거
text = "  Hello, World!  "
stripped_text = text.strip()    # "Hello, World!"
lstripped_text = text.lstrip()  # "Hello, World!  "
rstripped_text = text.rstrip()  # "  Hello, World!"


2. 문자열 검사 함수

  • startswith(): 문자열이 특정 문자열로 시작하는지 여부를 반환
  • endswith(): 문자열이 특정 문자열로 끝나는지 여부를 반환
text = "Hello, World!"
starts_with_hello = text.startswith("Hello")
ends_with_hello = text.endswith("Hello")
print(starts_with_hello) # True
print(ends_with_hello)   # False
  • find(): 특정 문자열이 처음으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
  • rfind(): 특정 문자열이 마지막으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
text = "Hello, World! Hello, Python!"
index_of_world = text.find("World")       # 7
last_index_of_hello = text.rfind("Hello") # 14
  • count(): 문자열 내에서 특정 문자열의 출현 횟수를 반환
text = "banana"
count_of_a = text.count("a")  # 3


3. 문자열 변환 함수

  • upper(): 문자열을 모두 대문자로 변환
  • lower(): 문자열을 모두 소문자로 변환
  • capitalize(): 문자열의 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환
  • title(): 문자열 내 각 단어의 첫 번째 문자를 대문자로 변환
  • swapcase(): 문자열 내 대문자는 소문자로 소문자는 대문자로 변환
text = "Hello, World!"
upper_text = text.upper()      # "HELLO, WORLD!"
lower_text = text.lower()      # "hello, world!"
swapped_text = text.swapcase() # "hELLO, wORLD!"

text2 = "hello, world!"
capitalized_text = text2.capitalize()  # "Hello, world!"
title_text = text2.title()             # "Hello, World!"


4. 문자열 정렬 함수

  • center(): 문자열을 지정된 길이로 만들고 가운데 정렬하며 나머지는 특정 문자로 채움
  • ljust(): 문자열을 지정된 길이로 만들고 왼쪽 정렬하며 나머지는 특정 문자로 채움
  • rjust(): 문자열을 지정된 길이로 만들고 오른쪽 정렬하며 나머지는 특정 문자로 채움
text = "Hello"
centered_text = text.center(10, "*")       # "**Hello***"
left_justified_text = text.ljust(10, "*")  # "Hello*****"
right_justified_text = text.rjust(10, "*") # "*****Hello"

 

총 정리

기능 메소드명 하는 일
변형 replace(str str1, str str2) 문자열 내에서 특정 문자열 str1을 다른 문자열 str2로 교체
split(str sep) 문자열을 특정 구분자 sep를 기준으로 분리하여 리스트로 반환
join([] exlist) 리스트 exlist의 요소들을 하나의 문자열로 결합, 특정 구분자를 사용
문자 제거 strip() 문자열의 시작과 끝에서 특정 문자를 제거 (기본값은 공백)
lstrip() 문자열의 시작에서 특정 문자를 제거
rstrip() 문자열의 끝에서 특정 문자를 제거
문자열 검사 startswith(str str1) 문자열이 특정 문자열 str1로 시작하는지 여부를 반환
endswith(str str1) 문자열이 특정 문자열 str1로 끝나는지 여부를 반환
find(str str1) 특정 문자열 str1이 처음으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
rfind(str str1) 특정 문자열 str1이 마지막으로 나타나는 위치의 인덱스를 반환 (없으면 -1 반환)
count(str str1) 문자열 내에서 특정 문자열 str1의 출현 횟수를 반환
변환 upper() 문자열을 모두 대문자로 변환
lower() 문자열을 모두 소문자로 변환
capitalize() 문자열의 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환
title() 문자열 내 각 단어의 첫 번째 문자를 대문자로 변환
swapcase() 문자열 내 대문자는 소문자로, 소문자는 대문자로 변환
정렬 center(int length, str str1) 문자열을 지정된 길이 length로 만들고 가운데 정렬하며 나머지는 특정 문자 str1로 채움
ljust(int length, str str1) 문자열을 지정된 길이 length로 만들고 왼쪽 정렬하며 나머지는 특정 문자 str1로 채움
rjust(int length, str str1) 문자열을 지정된 길이 length로 만들고 오른쪽 정렬하며 나머지는 특정 문자 str1로 채움

 

 

 


 

리스트의 메소드를 배우고 싶다면

 

[Python] List(리스트) 다루기(1)

List(리스트) 란?원소들이 연속적으로 저장되는 형태의 자료형을 뜻한다. 대괄호([, ])로 감싸서 나타내며 안에는 0개 이상의 원소가 저장할 수 있다. 또한 리스트도 저장할 수 있다.파이썬에서는

mi-dairy.tistory.com

이 글을 참고하시면 됩니다!