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 자료형이면 에러를 출력한다.
참고
'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 |