파이썬 문자열 다루기 (문자열 선언, 관련 함수)

파이썬에서 문자열을 선언하는 방법과 문자처리에 관련된 함수를 정리해보겠습니다.

1. 문자열 선언

파이썬에서는 큰 따옴표(“)와 작은 따옴표(‘)를 이용하여 문자열을 정의합니다.

str1 = "Hello Python!"
str2 = 'Hello Python!'

긴 텍스트는 따옴표 3개를 붙혀서 편하게 사용할 수 있습니다. 여러 라인의 문자를 정의할 때 사용합니다.

str1 = """My second story is about love and loss.
I was lucky. I found what I loved to do early in life."""

str2 = '''My second story is about love and loss.
I was lucky. I found what I loved to do early in life.'''

특수문자는 다른 언어와 마찬가지로 역슬래쉬 문자(‘\’)와 함께 사용하시면 됩니다.

str = "\"Hello Python!\" He says."
  • \’ : 따옴표
  • \” : 쌍따옴표
  • \\ : 백슬래쉬
  • \n : 개행문자
  • \r\n : 캐리지 리턴 (carrage return)
  • \t : tab 문자
  • \000 : 널 문자

2. 문자열 함수

문자열을 다루기 위한 몇가지 함수를 확인해봅시다.

– len()

len()은 문자열 길이를 반환합니다. 공백(space)과 개행(\n)문자, 탭(\t)문자 등이 포함됩니다.

str1 = """My second story is about love and loss.
I was lucky. I found what I loved to do early in life."""

print(len(str1)) #결과 : 94

str2 = "Hello Python!"

print(len(str2)) #결과 : 13

– upper(), lower()

upper()는 대문자로 변환하고, lower()는 소문자로 변환합니다.

str = "Hello Python!"

print(str.upper()) # 결과 : HELLO PYTHON!
print(str.lower()) # 결과 : hello python!

– index(), find()

index()와 find() 함수는 맨 처음 나온 문자의 위치값을 반환합니다.
기능은 같지만 다른 부분이 있는데 찾고자 하는 문자가 없는 경우 index() 는 오류를 반환하고, find()는 ‘-1’을 반환합니다.

str = "Hello Python!"

print(str.find("o")) # 결과 : 4
print(str.index("o")) # 결과 : 4

print(str.find("z")) # error!
print(str.index("z")) # 결과 : -1

– count()

count()라는 함수는 특정 문자의 갯수를 출력합니다.

str = "Hello Python!"

print(str.count("o"))  #결과 : 2
print(str.count("!"))  #결과 : 1

print(str.upper().count('L')) # 결과 : 2

– split()

split()은 문자열을 나누어 리스트로 변환합니다. 기본적으로 공백문자를 기준으로 나누지만 특정문자로 나눌 수 있습니다.

str = "Hello Python!"
print(str.split())  #{Hello, Python!}

str = "1:2:3:4"
print(str.split(":"))  #{1, 2, 3, 4}

– replace()

replace() 함수를 이용하여 특정 문자를 다른 문자로 치환해줄 수 있습니다. replace(특정문자, 치환할 문자)로 사용합니다.

str = "Hello Python!"

print(str.replace("Python", "Java")) # 결과 : Hello Java!

– rstrip(), lstrip()

rstrip()은 문자열의 오른쪽 공백을, lstrip()은 문자열의 왼쪽 공백을 모두 제거합니다.

str = " Hello "

print("|" + str.rstrip() + "|") # 결과 : | Hello|
print("|" + str.lstrip() + "|") # 결과 : |Hello |

Leave a Comment