카테고리 없음

[Python] 문자열 처리

광82 2023. 8. 21. 11:01
반응형

 문자열 인덱스

스트링으로 값을 받을때는 자동으로 인덱스 처리가 됩니다.

스트링 인덱스는 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

 

 

반응형