1. strip(), lstrip(), rstrip() 완벽 정리
| 메서드 | 기능 | 제거위치 | 기본 제거 대상 |
| strip() | 문자열 양쪽의 지정 문자 제거 | 양쪽 | 공백(스페이스, 개행문자 포함) |
| lstrip() | 문자열 왼쪽의 지정 문자 제거 | 왼쪽 | 공백(기본) |
| rstrip() | 문자열 오른쪽의 지정 문자 제거 | 오른쪽 | 공백(기본) |
strip(): 양쪽에서 제거
text = " hello world \n"
print(text.strip()) # "hello world"
# 공백 제거 space, \n 제거
코드 실행결과
"hello world"
s = "!!hello!!"
print(s.strip("!")) # "hello"
# 양쪽에 !는 전부 제거
코드 실행결과
"hello"
먄약, strip("!h")이면 왼쪽부터 !, h 제거, 오른쪽도 !, h 제거
strip() 안에 들어가는 모든 문자에 대해 양쪽으로 제거. (가운데는 제거 안됨)
lstrip(): 왼쪽에서만 제거
text = " hello world "
print(text.lstrip()) # "hello world "
코드 실행결과
"hello world "
s = ">>>Python>>>"
print(s.lstrip("><")) # "Python>>>"
코드 실행결과
"Python>>>"
rstrip(): 오른쪽에서만 제거
text = " hello world "
print(text.rstrip()) # " hello world"
코드 실행결과
" hello world"
s = "Python!!!!"
print(s.rstrip("!")) # "Python"
코드 실행결과
"Python"
strip 계열의 기본 제거 문자들
아무 값도 넣지 않으면 기본적으로 아래의 공백 문자들이 제거됩니다:
- ' ' : 공백
- '\n' : 줄바꿈 (newline)
- '\t' : 탭 (tab)
- '\r', '\f', '\v' 등 (접근 글에 설명 있음)
더보기
더보기
'\r', '\f', '\v'는 파이썬에서 흔히 보지 못하는 특수 제어 문자입니다.
✅ 제어 문자(Control Characters)
제어 문자는 눈에 보이지 않지만, 출력 위치나 페이지를 조정하는 역할을 합니다.
| \r | Carriage Return | 커서를 맨 앞으로 이동 (줄 바꿈은 아님) |
| \f | Form Feed | 페이지 넘김 (프린터에서 주로 사용) |
| \v | Vertical Tab | 수직 탭, 세로 방향 공백 (거의 안 쓰임) |
1. \r (Carriage Return)
- 커서를 맨 앞으로 이동시켜요.
- \n 없이 사용하면 줄을 바꾸진 않고 줄의 맨 앞에 덮어씀
print("hello\rhi")
# 출력: hi llo
"hello"를 출력한 뒤 \r로 커서를 맨 앞으로 옮기고 "hi"를 덮어씀
2. \f (Form Feed)
- 프린터 시대의 유물
- 종이를 다음 페이지로 넘긴다는 의미
- 현재 터미널에서는 보통 빈 공간 또는 무시됨
print("page1\fpage2")
# 출력은 page1 page2 중간에 이상한 공백처럼 보이거나 효과 없음
3. \v (Vertical Tab)
- 세로 방향 탭
- 대부분의 출력 환경에서는 \n과 비슷하게 작동하거나 무시됨
print("line1\vline2")
# 출력: line1
# line2 ← 들여쓰기되거나 이상하게 보일 수 있음
이런 제어 문자들은 보통 복사/붙여넣기나 입력 처리에서 실수로 생길 수 있기 때문에, 자동으로 제거되도록 되어 있어요.
반응형
'프로그래밍 언어 기초 > Python' 카테고리의 다른 글
| [Python] 문법 되새김 문제 (1) | 2026.01.30 |
|---|---|
| python map() 함수 (1) | 2025.07.11 |
| Python 입력: sys.stdin 완전 정리 (3) | 2025.07.07 |
