반응형
7.1 문자열 인덱싱과 슬라이싱
문자열 인덱싱과 슬라이싱을 사용하면 문자열의 특정 부분을 추출하거나 조작할 수 있습니다.
문자열 인덱싱: 문자열의 특정 위치에 접근할 수 있습니다. 인덱스는 0부터 시작합니다.
s = "Hello, World!"
print(s[0]) # 'H'
print(s[7]) # 'W'
print(s[-1]) # '!'
문자열 슬라이싱: 문자열의 특정 부분을 추출할 수 있습니다.
s = "Hello, World!"
print(s[0:5]) # 'Hello'
print(s[7:]) # 'World!'
print(s[:5]) # 'Hello'
print(s[::2]) # 'Hlo ol!'
7.2 문자열 메소드
문자열 메소드는 문자열을 조작하거나 정보를 추출하는 데 사용됩니다.
대소문자 변환
s = "Hello, World!"
print(s.upper()) # 'HELLO, WORLD!'
print(s.lower()) # 'hello, world!'
print(s.capitalize()) # 'Hello, world!'
print(s.title()) # 'Hello, World!'
문자열 검색
s = "Hello, World!"
print(s.find("World")) # 7
print(s.startswith("Hello")) # True
print(s.endswith("!")) # True
문자열 교체
s = "Hello, World!"
print(s.replace("World", "Python")) # 'Hello, Python!'
문자열 분리와 결합
s = "Hello, World!"
words = s.split(", ")
print(words) # ['Hello', 'World!']
print(", ".join(words)) # 'Hello, World!'
공백 제거
s = " Hello, World! "
print(s.strip()) # 'Hello, World!'
print(s.lstrip()) # 'Hello, World! '
print(s.rstrip()) # ' Hello, World!'
7.3 문자열 포매팅
파이썬에서는 다양한 문자열 포매팅 방법을 제공합니다.
퍼센트 포매팅
name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age)) # 'My name is Alice and I am 25 years old.'
str.format() 메소드
name = "Alice"
age = 25
print("My name is {} and I am {} years old.".format(name, age)) # 'My name is Alice and I am 25 years old.'
print("My name is {0} and I am {1} years old.".format(name, age)) # 'My name is Alice and I am 25 years old.'
print("My name is {name} and I am {age} years old.".format(name=name, age=age)) # 'My name is Alice and I am 25 years old.'
f-string 포매팅 (Python 3.6+)
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.") # 'My name is Alice and I am 25 years old.'
7.4 정규 표현식
정규 표현식(regular expression)은 문자열에서 특정 패턴을 찾거나 조작하는 데 사용됩니다. 파이썬에서는 re
모듈을 사용하여 정규 표현식을 처리할 수 있습니다.
정규 표현식 기본 사용법
import re
pattern = r"\b\w{5}\b"
text = "Hello, world! This is a test."
matches = re.findall(pattern, text)
print(matches) # ['Hello', 'world']
정규 표현식 메소드
# match: 문자열의 처음부터 패턴이 일치하는지 검사
match = re.match(r"\w+", "Hello, world!")
if match:
print(match.group()) # 'Hello'
# search: 문자열에서 패턴이 일치하는 첫 부분을 찾음
match = re.search(r"world", "Hello, world!")
if match:
print(match.group()) # 'world'
# findall: 문자열에서 패턴이 일치하는 모든 부분을 찾음
matches = re.findall(r"\b\w{5}\b", "Hello, world! This is a test.")
print(matches) # ['Hello', 'world']
# sub: 문자열에서 패턴이 일치하는 부분을 다른 문자열로 치환
result = re.sub(r"world", "Python", "Hello, world!")
print(result) # 'Hello, Python!'
반응형
'Python 문법 > Python 기본 문법(3.10 기준)' 카테고리의 다른 글
[python3.10 기본] 9. 예외 처리 (1) | 2024.07.01 |
---|---|
[python3.10 기본] 8. 파일 입출력 (0) | 2024.07.01 |
[python3.10 기본] 6. 데이터 구조 (1) | 2024.07.01 |
[python3.10 기본] 5. 함수 (0) | 2024.07.01 |
[python310 기본] 4. 제어문 (0) | 2024.07.01 |