Python 문자열 처리 방법 총정리: 함수와 예제 중심
파이썬 문자열 다루기
파이썬은 강력한 문자열 처리 기능을 제공하는 언어로, 다양한 내장 메서드와 연산자를 통해 문자열을 쉽게 다룰 수 있습니다. 이 글에서는 파이썬에서 문자열을 다루는 방법과 주요 함수들을 정리해 보겠습니다.
파이썬에서 문자열 생성 방법
파이썬에서는 문자열을 여러 방식으로 생성할 수 있습니다. 작은 따옴표('
)와 큰 따옴표("
)를 사용하거나, 여러 줄의 문자열을 작성할 땐 작은 따옴표 또는 큰 따옴표 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"
을 반환합니다.
댓글