IT/python
<문자열 처리> 관련 함수들 - python
bs engineer
2022. 9. 20. 14:56
str = "Hello Python"
대문자, 소문자
#변경
str.upper()
str.lower()
# 여부확인
str.isupper()
str.islower()
문자열 영어/숫자 확인
str.isalpha() # False 공백이 존재하므로!
str[:5].isalpha()# True "Hello"
#숫자 여부 확인
str.isdigit()
# 영문자, 숫자 여부 판별
str[:5].isalnum() # True
일부 변경
str.replace("Hello", "Hi") # Hello를 Hi로 변경
str.replace(" ","") # 공백 삭제
문자열 공백/특정문자 제거
str2 = " Hello "
str2.strip() #Hello
str2.lstrip() #Hello .
str2.rstrip() # Hello
str3 = "aaaaabbbbbbaaaaa"
str3.strip("a") # bbbbbb
str3.lstrip("a") #bbbbbbaaaaa
str3.strip("ab") # a또는 b가 나오지 않을 때까지 제거이므로 -> 공백 출력
str4 = "aabbccbb"
str4.strip("ab") # cc 출력됨
문자열 찾기
- find : 찾는 문자열이 처음 나오는 위치 리턴, 없을 경우 -1
- count : 해당 문자열의 개수 리턴
str.find("Py") #6 str.count("o") #2
문자열 슬라이싱
str[start:end:step] : index가 start부터 (end-1)까지 step씩 slicing
str[:] # 처음부터 끝까지, Hello Python
str[1:] # 1부터 끝까지 ello Python
str[:2] # He
str[:-2] #처음부터 끝-2번째까지 Hello Pyth
str[::2] # step 2씩 HloPto
str[::-1] # 거꾸로 nohtyP olleH
문자열 분리
str.split() #['Hello', 'Python']
str.split("o") #['Hell', ' Pyth', 'n']
문자열 결합
str2 = ["abc","def"]
" ".join(str2) #abc def
",".join(str2) #abc,def
"".join(str2) #abcdef
문자열 거꾸로
str.reverse()
str = str[::-1]
# 에러시 아래 코드로 작성
str[:]=str[::-1]
조건에 맞게 정렬
data = ['1 A', '1 B', '3 A', '4 D', '5 B']
뒤의 문자 순으로 정렬하는 방법
sort의 key인자를 사용
def func(x):
return x.split()[1], x.split()[0]
data.sort(key=func)
data.sort(key=lambda x: (x.split()[1], x.split()[0]))