[Python] 04.문자열 처리
- Develop/Python
- 2020. 12. 29.
■ 문자열 인덱스
스트링으로 값을 받을때는 자동으로 인덱스 처리가 됩니다.
스트링 인덱스는 0부터 시작되며 끝에서 읽어올 시 -1부터 시작합니다.
▶︎ 사용방법
변수명[1] : 특정 인덱스에 값. : y출력
변수명[0:2] : 인덱스 범위 값 : py까지 출력. 인덱까지의 값이 아니라 인덱스 -1. 즉 인덱스 번호 앞자리까지만 가지게 됨.
▶︎ 예제코드
• 예제 1
코드 :
a = "python"
print(a[0]);
print(a[1]);
print(a[2]);
결과 :
p
y
t
• 예제 2
코드 :
a = "python"
print(a[0:2])
print(a[1:2])
print(a[2:4])
결과 :
py
y
th
• 예제 3
코드 :
name1 = "aqua man"
name2 = "cat woman"
space = name1.find(" ") # 공백 문자의 인덱스를 얻어서 저장. 공백 문자로 이름과 성을 구분
name1_first = name1[0:space] # 첫 문자부터 공백 문자까지(공백은 제외) 모든 문자를 가져와서 이름으로 저장
name1_last = name1[space+1:len(name1)] # 공백바로 다음 문자부터 마지막 문자까지 모든 문자를 가져와서 성으로 저장.
print(name1_first)
print(name1_last)
space = name2.find(" ") # 공백 문자의 인덱스를 얻어서 저장. 공백 문자로 이름과 성을 구분
name2_first = name2[0:space] # 첫 문자부터 공백 문자까지(공백은 제외) 모든 문자를 가져와서 이름으로 저장
name2_last = name2[space+1:len(name2)] # 공백바로 다음 문자부터 마지막 문자까지 모든 문자를 가져와서 성으로 저장.
print(name2_first)
print(name2_last)
결과 :
aqua
man
cat
woman
■ 특정 문자 위치 찾기
스트링 문자 안에서 특정 문자를 찾을때 사용합니다.
▶︎ 사용방법
변수명.find("찾을문자열") : 앞에서부터 찾기
변수명.rfind("찾을문자열") : 뒤에서부터 찾기
▶︎ 예제 코드
• 예제 1 : 앞에서부터 찾기
코드 :
str = "python"
print(str.find("p"))
print(str.find("y"))
print(str.find("t"))
print(str.find("h"))
print(str.find("o"))
print(str.find("n"))
결과 :
0
1
2
3
4
5
인덱스 즉 문자의 위치를 반환
• 예제 2 : 뒤에서부터 찾기
코드 :
str = "python"
print(str.rfind("p"))
print(str.rfind("y"))
print(str.rfind("t"))
print(str.rfind("h"))
print(str.rfind("o"))
print(str.rfind("n"))
결과 :
0
1
2
3
4
5
인덱스 즉 문자의 위치를 반환. 뒤에서부터 찾게 됨.
■ 문자열에서 해당 문자가 있는지 여부 확인.
Boolean값(True 혹은 False)으로 리턴됩니다.
▶︎ 사용방법
"문자열" in str
▶︎ 예제코드
코드 :
str = "python"
print("on" in str)
print("no" in str)
print("py" in str)
print("yp" in str)
결과 :
True
False
True
False
■ 문자열의 빈도 구하기.
문자열 안에 특정 단어 혹은 글자가 몇번(사용횟수)이나 사용되는지 확인합니다.
▶︎ 사용방법
변수명.count("문자 혹은 문자열")
▶︎ 예제코드
코드 :
fruit = "banana"
print(fruit.count("an"))
결과 :
2
na가 2번 있기 때문에 2가 출력.
■ 문자열 교체
문자열 안에 특정 문제를 교체합니다.
▶︎ 사용방법
변수명.replace("원본문자","바꿀문자")
▶︎ 예제코드
코드 :
a = "All I Want for christmas Is You."
print(a.replace("A","a"))
결과 :
all I Want for christmas Is You.
대문자 A가 소문자 a로 변경.
■ 수학적 문자열.
스트링 문자열에서 더하기(+)는 문자열 붙이기를 의미합니다.
스트링 문자열에서 곱하기(*)는 문자열 반복을 의미합니다.
▶︎ 사용방법
+ 더하기(+)
"one" + "two"는 onetwo
+ 곱하기(*)
"one" * 3 는 oneoneone
▶︎ 예제코드
코드 :
color = "red"
shape = "curcle"
number = 3
print(number * (color + "=" + shape))
결과 :
red=curclered=curclered=curcle
red=curcle이 3번 반복
■ print의 뉴라인(\n), 탭(\t) 바꾸기
print에서 사용되는 뉴라인(\n)과 탭(\t)을 처리하는 방법입니다.
▶︎ 사용방법
뉴라인(\n) : 변수명.replace("\n","변경할문자")
탭(\t) : 변수명.replace("\t","변경할문자")
▶︎ 예제코드
• 예제 1 : 새줄(new line) 교체
코드 :
word = "phoenix\ntiger\nlion"
print("첫번째 결과")
print(word)
print("두번째 결과")
word = word.replace("\n", "")
print(word)
결과 :
첫번째 결과
phoenix
tiger
lion
두번째 결과
phoenixtigerlion
2. 예제 2 : 탭(tab) 교체
코드 :
word = "phoenix\ttiger\tlion"
print("첫번째 결과")
print(word)
print("두번째 결과")
word = word.replace("\t", "")
print(word)
결과 :
첫번째 결과
phoenix tiger lion
두번째 결과
phoenixtigerlion
▶︎ 그외 스트링 문자열 상호작용
몇가지 스트링에서 상호작용을 하는 메소드를 알아봅니다.
▶︎ 예제 코드
예제 1 : 프롬프트에서 사용자가 입력한 값 받아오기
사용방법 : input("프롬프트 출력 문자")
코드 :
user_value = input("값을 입력하세요 : ")
예제 2 : 시작문자 대문자로 만들기
사용방법 : 변수명.capitalize()
코드 :
print(user_value.capitalize())
예제 3 : 대문자를 소문자로, 소문자를 대문자로 바꾸기
사용방법 : 변수명.swapcase()
코드 :
print(user_value.swapcase())
예제 4 : 모든문자를 대문자로 바꾸기
사용방법 : 변수명.upper()
코드 :
print(user_value.upper())
예제 5 : 모든문자를 소문자로 바꾸기
사용방법 : 변수명.lower()
코드 :
print(user_value.lower())
▶︎ 예제 코드 및 결과 :
예제 코드 :
user_value = input("값을 입력하세요 : ")
print(user_value.capitalize())
print(user_value.swapcase())
print(user_value.upper())
print(user_value.lower())
결과 :
값을 입력하세요 : i Love You
I love you
I lOVE yOU
I LOVE YOU
i love you
■ 파이선 다른 회차
[Python] Intro : Very Quick Python : https://myinfrabox.tistory.com/169
[Python] 01.Python 준비 : https://myinfrabox.tistory.com/170
[Python] 02.Python 스크립트 작성 방법 : https://myinfrabox.tistory.com/171
[Python] 03.변수 선언 및 할당 : https://myinfrabox.tistory.com/172
[Python] 05.조건문 : https://myinfrabox.tistory.com/174
[Python] 06.반복문 : https://myinfrabox.tistory.com/175
[Python] 07.튜플(Tuple) : https://myinfrabox.tistory.com/176
[Python] 08.리스트(List) : https://myinfrabox.tistory.com/177
[Python] 09.사전(Dictionary) : https://myinfrabox.tistory.com/178
[Pytho] 10.set : https://myinfrabox.tistory.com/179
[Python] 11.함수(Function) : https://myinfrabox.tistory.com/180
[Python] 12.클래스(Class) : https://myinfrabox.tistory.com/181
[Python] 13.외부 클래스 사용하기 : https://myinfrabox.tistory.com/182
[Python] 14.파일처리 : https://myinfrabox.tistory.com/183
[Python] 15.MySQL Database : https://myinfrabox.tistory.com/184
'Develop > Python' 카테고리의 다른 글
[Python] 06.반복문 (0) | 2020.12.30 |
---|---|
[Python] 05.조건문 (0) | 2020.12.29 |
[Python] 03.변수 선언 및 할당 (0) | 2020.12.29 |
[Python] 02.Python 스크립트 작성 방법 (0) | 2020.12.29 |
[Python] 01.Python 준비 (0) | 2020.12.28 |