본문 바로가기

Language/Python

<파이썬> 문자열과 메서드

1. isdigit isalpha isalnum

* isdigit

x = "100"
y = "won"
z = "100won"
for i in (x, y, z):
    answer = i.isdigit()
    print(f'{i} : {answer}')
    
# 100 : True
# won : False
# 100won : False

 

 - isdigit함수는 문자열이 숫자로만 구성되어 있는지 불린값을 반환한다.

 

 - isdigit메서드에서 주의해야 할 점은 int자료형에서도 True를 반환할 것 같지만 문자열 메서드이므로 에러를 반환한다.

 

* isalpha

x = "100"
y = "won"
z = "100won"
for i in (x, y, z):
    answer = i.isalpha()
    print(f'{i} : {answer}')
    
# 100 : False
# won : True
# 100won : False

 

 - isalpha는 문자열이 문자로만 구성되어 있는지 불린값을 반환한다.

 

* isalnum

x = "100"
y = "won"
z = "100won"
for i in (x, y, z):
    answer = i.isalnum()
    print(f'{i} : {answer}')

# 100 : True
# won : True
# 100won : True

 

 - isalnum은 문자 또는 숫자로 구성되어 있는지 불린값을 반환한다.

 

2. chr ord

* chr ord

c = chr(66)
o = ord("A")
print('c :', c)
print('o :', o)

# c : B
# o : 65

 

 - chr은 숫자에 대응하는 문자를 아스키코드에서 찾아서 반환한다.

 

 - ord는 문자에 대응하는 숫자를 아스키코드에서 찾아서 반환한다.

 

3. upper lower swapcase capitalize

* upper lower

x = "Hello Harry"
x_upper = x.upper()
x_lower = x.lower()

print(x)
print(x_upper)
print(x_lower)

# Hello Harry
# HELLO HARRY
# hello harry

 

 - upper은 모든 문자를 대문자로 바꾸며, lower은 모든 문자를 소문자로 바꾼다.

 

 - 기존 문자열에 영향을 미치지 않는다.

 

* swapcase

x = "Hello Harry"
x_swap = x.swapcase()

print(x)
print(x_swap)

# Hello Harry
# hELLO hARRY

 

 - swapcase는 문자열 내의 대문자와 소문자를 바꾸는 메서드이다.

 

* capitalize

x = "Hello Harry"
x_capital = x.capitalize()

print(x)
print(x_capital)

# Hello Harry
# Hello harry

 

 - capitalize는 문자열 내 첫번째 문자를 대문자로 바꾸고, 나머지는 모두 소문자로 바꾼다.

 

 - 비슷한 메서드로 title이 있으며 띄어쓰기를 구분으로 첫 문자를 모두 대문자로 바꾸고, 나머지는 소문자로 바꾼다. 위의 예시에서는 변화가 없이 "Hello Harry"가 그대로 출력될 것이다.

 

 

4. startwith endwith

* startwith

x = "Harry"
print(x.startswith('H'))
print(x.startswith('h'))
print(x.startswith('H', 0))
print(x.startswith('H', 9))

# True
# False
# True
# False

 - startwith는 특정 단어로 시작하는지를 확인하는 메서드이다.

 

 - 대소문자를 구분한다.

 

 - int값을 인자로 넣어서 시작위치를 직접 정할 수 있다. 이 때 문자열의 길이를 초과해도 에러를 출력하지 않는다.

 

* endwith

x = "Harry"
print(x.endswith('Y'))
print(x.endswith('y'))
print(x.endswith('y', 3))
print(x.endswith('y', 5, 100))

# False
# True
# True
# False

 

 - endwith는 특정 단어로 끝나는지 여부를 확인한다.

 

 - 인자에 시작위치와 끝위치를 지정할 수 있다.

 

5. find rfind index rindex

* in not in

 - in과 not in은 특정 단어가 문자열에 속해있는지 여부를 불린값으로 반환한다.

* find rfind

x = "Harry"

print(x.find('r'))
print(x.rfind('r'))
print(x.find('rr'))
print(x.rfind('rr'))
print(x.find('r', 4))

# 2
# 3
# 2
# 2
# -1

 

 - find는 특정 단어를 찾아서 인덱스를 반환하며, 인자로 시작위치를 넣을 수 있다.

 

 - 찾는 단어가 없으면 -1을 반환한다.

 

 - rfind는 단어를 뒤에서 부터 찾기 시작하고 찾으면 인덱스를 반환한다.

 

* index rindex

 - find와 동일하지만 찾는 단어가 없으면 에러를 발생시킨다.

 

6. replace, join

* replace

x = "Hello Harry"

print(x.replace('H', 'X'))
print(x.replace('H', 'X', 1))
print(x.replace('H', 'X', 10))

# Xello Xarry
# Xello Harry
# Xello Xarry

 

 - replace(old, new, max) 와 같이 사용하며, old문자열을 new문자열로 모두 바꾼다.

 

 - int값으로 갯수를 지정할 수 있으며, 갯수가 초과되면 자동으로 무시된다.

* join

x_lst = ["Hello", "Harry"]
print('^^'.join(x_lst))

# Hello^^Harry

 

 - 문자열을 구분자로 여러개의 문자열을 이어주는 메서드이다.

 

 - 이 때 연결할 문자열들이 int 자료형이면 에러를 출력한다.

 

 


 

 

참고

 

 

 

[Python] 파이썬 문자열 처리를 위한 다양한 메소드 (Python string methods)

지난번 포스팅에서는 파이썬의 자료 유형인  - 숫자(Number),  - 문자열(String),  - 리스트(List),  - 튜플(Tuple),  - 사전(Dictionary) 중에서 먼저 숫자(Number)와 문자열(String)의 기본 사용법을 소개..

rfriend.tistory.com

 

 

슈퍼문의 개발일지

Android, Git, Algorithm, IT, Firebase, Web, Database, My Story, etc.

seongjaemoon.github.io

 

 

[Python] 파이썬 특정문자 찾기(find,startswith,endswith)

문자열중에 특정 문자를 찾고싶거나, 특정문자로 시작하는 문자열, 특정문자로 끝이나는 문자열 등 문자를 찾는 방법에대해 알아보겠습니다. find(찾을문자, 찾기시작할위치) >>> s = '가나다라 마

dpdpwl.tistory.com

 

'Language > Python' 카테고리의 다른 글

<파이썬> 2차원 배열 정렬  (1) 2021.04.01
<파이썬> 리스트 컴프리헨션  (1) 2021.03.03
<파이썬 기초> 12. 정규식  (0) 2020.11.03
<파이썬 기초> 11. 튜플  (0) 2020.10.27
<파이썬 기초> 10. 딕셔너리  (0) 2020.10.20