파이썬 문자열 다루기
문자열 포멧팅 / 조작 / 변환 / 공백처리 / 포멧팅
다른 언어에 비해 파이썬 문법은 간단하면서도 직관적입니다.
개발을 하면서 많이 쓰게 되는 문자열을 다루는 기능입니다.
str1 = "kfc, KFC, Kfc"
tb = str.maketrans('k', '^')
print("--------문자 인덱스")
print("01 : %s-> %s " % (str1, len(str1)) ) #문자열 길이 구하기
print("02 : %s-> %s " % (str1, str1.count("f")) ) #문자 갯수 세기
print("03 : %s-> %s " % (str1, str1.index("f")) ) #문자 위치 찾기
print("04 : %s-> %s " % (str1, str1.rindex("f")) ) #문자 위치 찾기(오르쪽에서부터)
print("05 : %s-> %s " % (str1, str1.find("f")) ) #문자 위치 찾기
print("06 : %s-> %s " % (str1, str1.rfind("f")) ) #문자 위치 찾기(오르쪽에서부터)
#index: 찾는 문자가 없을때 error
#find: 찾는 문자가 없을때 -1 리턴
print("--------문자 자르기")
print("07 : %s-> %s " % (str1, str1[5]) ) #문자열 5번째 문자
print("08 : %s-> %s " % (str1, str1[-2]) ) #문자열 뒤에서 2번째 문자
print("09 : %s-> %s " % (str1, str1[:3]) ) #문자열 자르기(substring) ~3번째 위치까지 자르기
print("10 : %s-> %s " % (str1, str1[3:]) ) #3번째 부터 ~
print("11 : %s-> %s " % (str1, str1[3:6]) ) #3번째부터 ~ 6번째까지
print("15 : %s-> %s " % (str1, str1.split(",")) ) #문자 분리
print("--------문자변환")
print("12 : %s-> %s " % (str1, str1.upper()) ) #전체 대문자
print("13 : %s-> %s " % (str1, str1.lower()) ) #전체 소문자
print("14 : %s-> %s " % (str1, str1.capitalize()) ) #첫글자만 대문자
print("16 : %s-> %s " % (str1, str1.replace("KFC","AAA")) ) # 문자 치환하기
str2 = " kfcK "
print("17 : %s-> %s " % (str2, str2.translate(tb)) ) # #문자 바꾸기
print("--------공백처리")
print("18 : %s-> %s " % (str2, str2.lstrip()) ) # #공백 삭제(왼쪽)
print("19 : %s-> %s " % (str2, str2.rstrip()) ) # #공백 삭제(오른쪽)
print("20 : %s-> %s " % (str2, str2.strip()) ) #공백삭제(왼오)
print("21 : %s-> %s " % (str2, str2.lstrip().lstrip('k')) ) #공백삭제(왼) 후 문자삭제(왼)
print("22 : %s-> %s " % (str2, str2.rstrip().rstrip('K')) ) #공백삭제(오) 후 문자삭제(오)
print("23 : %s-> %s " % (str2, str2.strip().strip('Kk')) ) # 공백삭제(왼오)후 문자삭제(왼오)
print("--------")
str3 = ['a','b','c','d']
print("24 : %s(%s) -> %s " % (str3,type(str3), "---==---".join(str3)) ) #list타입의 문자열을 연결
print("------- 포멧팅")
print("25 : %s " % 1 ) #포멧팅(1문자)
print("26 : %s%% " % 1 ) #포멧팅(1문자)퍼센트를 표시할땐 %2개를 사용
print("27 : %5s " % 1 ) #포멧코드와 같이 쓰기 5칸 공백 후 대입
print("28 : %0.2f " % 21.1257 ) #포멧코드와 같이 쓰기 소수점 2번째까지 표시(3번째 올림)
print("29 : %7.2f " % 21.1257 ) #7.2(전체 7자리 사용) 공백(2자리)+21.13(5자리)
print("30 : %s-> %s " % (1,2) ) #포멧팅 2개이상일때 튜플타입()으로
print("--------")
print("31 : {0:>5}".format(1), "길이", len("{0:>5}".format(1)) ) #왼쪽 공백
print("32 : {0:<5}".format(1), "길이", len("{0:<5}".format(1)) ) #오픈쪽 공백
print("33 : {0:^5}".format(1), "길이", len("{0:^5}".format(1)) ) #가운데(왼오공백)
print("34 : {0:-^5}".format(1), "길이", len("{0:-^5}".format(1))) #가운데(왼오-로 채우기)
print("35 : {}{}".format(1,2) ) #포멧팅 {}안에 순서대로 대입
print("36 : {1}{0}".format(1,2) ) #포멧팅 {}안에 인덱스를 넣어 위치를 변경
print("--------")
str4 = "py"
str5 = "thon"
print("37 : ",f"""hello world {str4+str5+str(3.8)} """ ) #f 포멧팅 {}안에서 변수 대입 수식 계산이 가능
아래는 포멧팅을 할때 사용할수 있는 코드입니다.
코드 | 설명 |
---|---|
%d | 정수(Integer) |
%s | 문자열(String) |
%c | 문자(character) |
%f | 부동소수(floating-point) |
%% | 리터럴 % (문자 %) |
' '.join(str.split()) #내용 중간 다중 공백 제거입니다.
>>> str = "a b c d"
>>> print(''.join(str.split()))
abcd
>>>
TAG: #python #문자열변환 #문자열공백 #문자열포멧팅 #문자열자르기
Comments
Login: