Python

파이썬 | 문자열 메서드(count, join, find, index, upper, lower, lstrip, rstrip, strip, replace, split)

SecLogs YJ 2026. 3. 4. 08:20
목차

1. count
2. join
3. find
4. index
5. upper
6. lower
7. lstrip
8. rstrip
9. strip
10. replace
11. split

 

1. count 메서드

지정된 값을 가진 요소의 개수를 반환하는 메서드

 

Syntax

string.count(self, x, start, end)

 

  • x(필수): 찾고 싶은 문자 혹은 문자열
  • start(선택) : 탐색 시작점 (기본값은 0)
  • end (선택) : 탐색 종료점 (기본값은 string의 끝)

 

특징

  • 대소문자 구분 (a를 찾는 것과 A를 찾는 것은 다른 것)
  • start, end 생략 시 전체 범위 탐색

 

예시 1 - apple 찾기

txt = "I love apples, apple are my favorite fruit"
x = txt.count("apple", 10, 24)

print(x)

 

출력값

1

 

 

예시 2 - Apple 찾기

txt = "I love apples, apple are my favorite fruit"
x = txt.count("Apple", 10, 24)

print(x)

 

출력값

0

 

예시 3 - 부분 문자열  "ana" 찾기

"banana".count("ana")

 

출력값

1 # 겹치는 부분은 중복 카운트 하지 않느다.

 

++ 참고

파이썬 list의 count 메서드

 

Syntax

list.count(value)

 

매개변수 값

  • value(필수) : 어떤 자료형이든 가능(string, nummber, list, tuple, 등)

특징

  • start, end 매개변수 없음
  • 전체 리스트에서만 탐색
  • 완전 일치하는 값만 카운트

예시 - 숫자 2 찾기

arr = [1, 2, 3, 2, 1]
print(arr.count(2))

 

출력

2

 

 

2. join 메서드

반복 가능한 객체의 모든 항목을 가져와 하나의 문자열로 결합하는 메서드

 

Syntax

string.join(iterable)

 

  • iterable(필수) : 반환되는 모든 값이 문자열인 반복 가능한 객체

예시 - words 리스트의 항목을 가져와 ", "을 join 해서 하나의 문자열로 결합

words = ["apple", "banana", "cherry"]
result = ", ".join(words)
print(result)

 

출력

apple, banana, cherry

 

 

3. find 메서드

지정된 값의 첫 번째 발생 위치를 찾아 반환해 주는 메서드

값을 찾을 수 없는 경우 -1을 반환한다. (index와 비교되는 차이점. index는 예외 발생)

 

Syntax

string.find(value, start, end)

 

  • value(필수) : 찾고 싶은 값
  • start(선택) : 탐색 시작점 (기본값은 0)
  • end(선택 : 탐색 종료점 (기본값은 string의 끝)

예시 - 'banana'에서 a 찾기

txt = "banana"
print(txt.find("a"))

 

출력

1

#banana에서 a의 첫번째 위치는 인덱스 1번째

 

예시 - 'banana'에서 x 찬기

txt = "banana"
print(txt.find("x"))

 

출력

-1

 

예시 - 인덱스 2부터 검색

txt = "banana"
print(txt.find("a", 2))

 

출력

3

#banana에서 인덱스 2부터 탐색 시 a의 첫번째 위치는 인덱스 3번째

 

4. index 메서드

주어진 문자열 내에서 지정된 부분 문자열의 위치를 ​​찾는 메서드(첫 번째 발생 위치 반환)

부분 문자열을 찾지 못하면 'ValueError'를 발생시킴 (find는 -1 반환)


Syntax

s.index(substring, start=0, end=len(s))

 

  • substring(필수) : 문자열 s 내에서 찾을 부분 문자열
  • start(선택) : 탐색 시작점 (기본값은 0)
  • end(선택) : 탐색 종료점 (기본값은 string 길이)

예시

txt = "banana"
print(txt.index("a"))

 

출력

1

 

예시 - 오류

txt = "banana"
print(txt.index("x"))

 

출력

ValueError                                Traceback (most recent call last)
Cell In[13], line 2
      1 txt = "banana"
----> 2 print(txt.index("x"))

ValueError: substring not found

 

 

++

파이썬 리스트 index() 메서드

 

Syntax

list.index(elmnt, start, end)

 

  • elmnt(필수) : 찾고 싶은 값
  • start(선택) : 탐색 시작점 (기본값은 0)
  • end(선택) 탐색 종료점 (기본값은 string의 끝)

 

예시

arr = [1, 2, 3, 2]
print(arr.index(2))

 

 

출력

1

 

리스트에는 find는 없는 이유

: 문자열은 부분 문자열 검색 개념이 있지만, 리스트는 완전 일치 값 찾기 개념이기 때문

 

5. upper() 메서드

모든 문자가 대문자인 문자열을 반환하는 메서드 (= 소문자 to 대문자)


Syntax

string.upper()

 

매개변수 x

 

예시

s = "Hello"
print(s.upper())

 

출력

HELLO

 

6. lower 메서드

모든 문자가 소문자인 문자열을 반환하는 메서드 (= 대문자 to 소문자)


Syntax

string.lower()

 

매개변수 x

 

예시

s = "HELLO"
print(s.lower())

 

출력

hello

 

7. lstrip 메서드

앞에 오는 모든 문자를 제거하는 메서드(기본적으로 공백 제거용)


Syntax

string.lstrip(characters)

 

  • characters(선택) : 선행 문자로 제거할 문자 집합

예시

s = "   hello   "
print(s.lstrip())

 

출력

hello   #뒤 공백있음

 

예시

s = "xxhelloxx"
print(s.lstrip("x"))

 

출력

helloxx

 

8. rstrip 메서드

문자열 끝에 있는 문자(후행 문자)를 제거하는 메서드(기본적으로 공백 제거용)


Syntax

string.rstrip(characters)

 

  • characters(선택) : 끝부분에서 제거할 문자 집합

예시

s = "   hello   "
print(s.rstrip())

 

출력

   hello

 

예시

s = "xxhelloxx"
print(s.rstrip("x"))

 

출력

xxhello

 

9. strip 메서드

문자열의 앞부분과 뒷부분에 있는 공백을 제거하는 메서드

제거할 문자 지정 가능


Syntax

string.strip(characters)

 

  • characters(선택) : 앞뒤에서 제거할 문자 집합

예시

s = "   hello   "
print(s.strip())

 

출력

hello
#앞뒤 공백없음

 

예시

s = "xxhelloxx"
print(s.strip("x"))

 

출력

hello

 

10. replace 메서드

지정된 구문을 다른 지정된 구문으로 바꾸는 메서드


Syntax

string.replace(oldvalue, newvalue, count)

 

  • oldvalue(필수) : 탐색할 문자열
  • newvalue(필수) : 바꿀 문자열
  • count(선택) : 기존 값을 몇 개까지 바꿀지 지정하는 숫자 (기본값은 모든 항목)

예시

s = "banana"
print(s.replace("a", "o"))

 

출력

bonono

 

예시

s = "banana"
print(s.replace("a", "o", 2))

 

출력

bonona

 

11. split 메서드

문자열을 리스트로 분할하는 메서드


Syntax

string.split(separator, maxsplit)

 

  • separator(선택) : 문자열을 분할할 때 사용할 구분자 지정(기본값 : 모든 공백이 구분자)
  • maxsplit(선택) : 분할할 횟수(기본값 : -1, 모든 발생 의미) 

예시

s = "apple banana cherry"
print(s.split())

 

출력

['apple', 'banana', 'cherry']

 

예시 - 구분자 지정

s = "apple,banana,cherry"
print(s.split(","))

 

출력

['apple', 'banana', 'cherry']

 

예시 - maxsplit

s = "a b c d"
print(s.split(" ", 2))

 

출력

['a', 'b', 'c d']

문자열 단독 메서드 리스트 메서드
join()  
count() count()
index() index()
find()  
upper()  
lower()  
lstrip()  
rstrip()  
strip()  
replace()  
split()