본문 바로가기

Python 문자열 처리 방법 총정리: 함수와 예제 중심

ggqudrndl 2024. 12. 1.

파이썬 문자열 다루기

파이썬은 강력한 문자열 처리 기능을 제공하는 언어로, 다양한 내장 메서드와 연산자를 통해 문자열을 쉽게 다룰 수 있습니다. 이 글에서는 파이썬에서 문자열을 다루는 방법과 주요 함수들을 정리해 보겠습니다.


파이썬에서 문자열 생성 방법

파이썬에서는 문자열을 여러 방식으로 생성할 수 있습니다. 작은 따옴표(')와 큰 따옴표(")를 사용하거나, 여러 줄의 문자열을 작성할 땐 작은 따옴표 또는 큰 따옴표 3개를 사용할 수 있습니다.

 

👇👇👇 내용 자세히 보기  👇👇👇

# 기본적인 문자열 생성
str1 = 'Hello'
str2 = "World"

# 여러 줄 문자열 생성
str3 = '''This is
a multiline
string.'''
str4 = """Another example
of multiline string."""

문자열 생성 방식의 유용성은 따옴표를 포함한 텍스트를 작성할 때 특히 빛을 발합니다.

# 작은 따옴표 포함
text1 = "I'm learning Python."

# 큰 따옴표 포함
text2 = 'He said, "Python is amazing!"'

문자열 인덱싱과 슬라이싱

문자열은 문자들의 나열로 구성되며, 각 문자는 인덱스를 가집니다. 이를 활용해 특정 위치의 문자에 접근하거나, 부분 문자열을 추출할 수 있습니다.

문자열 인덱싱

  • 양수 인덱스: 왼쪽에서 오른쪽으로 0부터 시작
  • 음수 인덱스: 오른쪽에서 왼쪽으로 -1부터 시작
text = "Python"
print(text[0])  # P
print(text[-1]) # n

문자열 슬라이싱

슬라이싱은 [시작:끝:스텝] 형식으로 사용하며, 특정 범위의 문자를 추출합니다.

text = "Python Programming"
print(text[0:6])  # Python (0번부터 5번까지)
print(text[:6])   # Python (시작 생략 시 0부터)
print(text[7:])   # Programming (끝 생략 시 끝까지)
print(text[::2])  # Pto rgamn (2칸씩 건너뛰기)

문자열 주요 함수와 활용법

파이썬은 내장 메서드를 통해 다양한 문자열 작업을 간편하게 수행할 수 있습니다.

1. 문자열 길이 구하기

len() 함수는 문자열의 길이를 반환합니다.

text = "Hello, World!"
print(len(text))  # 13

2. 대소문자 변환

  • lower(): 소문자로 변환
  • upper(): 대문자로 변환
  • capitalize(): 첫 글자를 대문자로 변환
  • title(): 각 단어의 첫 글자를 대문자로 변환
text = "hello PYTHON"
print(text.lower())      # hello python
print(text.upper())      # HELLO PYTHON
print(text.capitalize()) # Hello python
print(text.title())      # Hello Python

3. 공백 제거

  • strip(): 양쪽 공백 제거
  • lstrip(): 왼쪽 공백 제거
  • rstrip(): 오른쪽 공백 제거
text = "   Hello, World!   "
print(text.strip())   # 'Hello, World!'
print(text.lstrip())  # 'Hello, World!   '
print(text.rstrip())  # '   Hello, World!'

4. 특정 문자 치환

replace() 함수는 특정 문자를 다른 문자로 대체합니다.

text = "I love Java"
print(text.replace("Java", "Python"))  # I love Python

5. 문자열 분리와 결합

  • split(): 특정 구분자를 기준으로 문자열을 나눔
  • join(): 리스트 등의 요소를 하나의 문자열로 결합
# 분리하기
text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits)  # ['apple', 'banana', 'cherry']

# 결합하기
words = ["Python", "is", "fun"]
sentence = " ".join(words)
print(sentence)  # Python is fun

6. 특정 문자 찾기

  • find(): 특정 문자의 첫 번째 위치 반환 (없으면 -1)
  • index(): 특정 문자의 첫 번째 위치 반환 (없으면 오류 발생)
text = "Python Programming"
print(text.find("P"))    # 0
print(text.find("z"))    # -1

print(text.index("P"))   # 0
# print(text.index("z")) # ValueError 발생

고급 활용: 조건 검사와 반복 작업

1. 조건 검사

  • isdigit(): 숫자인지 확인
  • isalpha(): 알파벳인지 확인
  • isalnum(): 알파벳 또는 숫자인지 확인
text1 = "12345"
text2 = "Hello123"

print(text1.isdigit())  # True
print(text2.isalpha())  # False (숫자 포함)
print(text2.isalnum())  # True (알파벳+숫자)

2. 반복 작업

반복문과 함께 문자열을 조작하면 효율적인 작업이 가능합니다.

text = "Python"
for char in text:
    print(char)  # 한 글자씩 출력

# 특정 문자 개수 세기 (count())
sentence = "banana"
print(sentence.count("a"))  # 3 (a가 등장한 횟수)

결론

파이썬의 강력한 문자열 처리 기능은 다양한 작업에서 효율성을 제공합니다. 기본적인 생성 방법부터 고급 메서드 활용까지 익히면 데이터 분석, 웹 개발 등 다양한 분야에서 유용하게 사용할 수 있습니다. 위에서 소개한 메서드들을 잘 익혀 두면 복잡한 문자열 처리도 손쉽게 해결할 수 있을 것입니다.


자주 묻는 질문(FAQ)

Q1. 파이썬에서 여러 줄의 텍스트를 어떻게 작성하나요?
A1. 작은 따옴표(''')나 큰 따옴표(""")를 세 번 사용하면 여러 줄 텍스트를 작성할 수 있습니다.

Q2. 특정 문자가 몇 번 등장했는지 어떻게 알 수 있나요?
A2. count() 메서드를 사용하면 됩니다. 예: "banana".count("a")는 결과값으로 3을 반환합니다.

Q3. 문자열에서 특정 단어를 다른 단어로 바꾸려면 어떻게 하나요?
A3. replace() 메서드를 사용하세요. 예: "I love Java".replace("Java", "Python")"I love Python"을 반환합니다.

댓글