[파이썬(Python)]-문자열 연산

배병진·2023년 6월 26일
0

개인공부-Python

목록 보기
13/22

1. len()

  • int형의 경우 사용이 안된다.
  • 문자의 길이를 확인할때 사용된다.
  • 문자열, 튜플, 리스트
##문자열 길이
str='""1234'
print(len(str))
>> 6

#리스트 길이
list =[0,1,2,3,4,5]
print(len(list))
>> 6

#튜플 길이
tuple=(1,2)
print(len(tuple))
>> 2

2. Raw String

  • Escape문에 영향을 받지않고 그대로 표시
  • 출력할 문자열 앞에 r을 붙여 주어 사용
print("c:\programs\test")
>> c:\programs est

print(r"c:\programs\test")
>> c:\programs\test

3. Multi line

  • 한 줄이 너무 길어질때 \ 를 사용하여 가독성을 높이기 위해 사용
print("test를 위한 문자열 입니다. test를 위한 문자열 입니다.")
>> test를 위한 문자열 입니다. test를 위한 문자열 입니다

print("test를 위한 문자열 입니다. \ntest를 위한 문자열 입니다.")
>>
test를 위한 문자열 입니다.
test를 위한 문자열 입니다.

4. 문자열 연산과 데이터 타입 변환

  • 문자열의 연산
  • 데이터 타입의 변환
a='test'
a+='를'
a+=' 위한 문자열 입니다.'

print(a)
>> test를 위한 문자열 입니다.

a='test'
a+='를'
a+=' 위한 문자열 입니다.'

print(a*3)
>> test를 위한 문자열 입니다.test를 위한 문자열 입니다.test를 위한 문자열 입니다.

##문자열의 포함 여부에 따라 True, False로 출력
str='abcdef'

print("abc" in str)
print("A" in str)

>>
True
False

5. upper()

  • 소문자를 대문자로 변경해주는 함수
a='abcdef'
print(a.upper())
>> ABCDEF

6. lower()

  • 대문자를 소문자로 변경해주는 함수
a='AbCdEf'
print(a.lower())
>>abcedf

7. count()

  • 카운트 해주는 함수
a='aaaaaaaaaaaabbbbbbAAAAAAA'
print(a.count('a'))
>> 12

8. replace()

  • 문자열을 바꿔준다.
a='aaaaaaaaaaaabbbbbbAAAAAAA'
print(a.replace('a', 'b')) // a -> b로 바꿔준다
>> bbbbbbbbbbbbbbbbbbAAAAAAA

9. split()

  • 문자열을 나눠준다.

사용법

  • 문자열.split
  • 문자열.split('구분자')
  • 문자열.split('구분자', 분할횟수)
  • 문자열.split(sep='구분자', maxsplit=분할횟수)
a='i am korean'
print(a.split()) // 공백 기준으로 나눠줌
>> ['i', 'am', 'korean'] 

a='i am korean'
print(a.split('a')) // a를 기준으로 나눠줌
>> ['i', 'm kore', 'n']

구분자 및 분할횟수를 지정한 split사용

a = "hello.my.name.is.jin"

print(f'\n1. origin\n{a}')

a1 = a.split()
a2 = a.split(',', 3)
a3 = a.split(sep='.', maxsplit=3)
a4 = a.split('.', maxsplit=3)

print(f"\n2. a.split()\n{a1}")
print(f"\n3. a.split('.', 3)\n{a2}")
print(f"\n4. a.split(sep='.', maxsplit=3)\n{a3}")
print(f"\n5. a.split('.', maxsplit=3)\n{a4}")
  
>>>
1. origin
hello.my.name.is.jin

2. a.split()
['hello.my.name.is.jin']

3. a.split('.', 3)
['hello.my.name.is.jin']

4. a.split(sep='.', maxsplit=3)
['hello', 'my', 'name', 'is.jin']

5. a.split('.', maxsplit=3)
['hello', 'my', 'name', 'is.jin']

10. swapcase()

  • 대문자와 소문자를 바꿔준다.
a='I am Korean'
print(a.swapcase())
>> i AM kOREAM

11. print(a)

  • a의 문자열 출력
a='I am Korean'
print(a)
>> I am Korean

12. print(a[n])

  • a의 n번째 문자 출력
a='I am Korean'
print(a[3])
>> m

13. print(a[0:n])

  • a의 0~n번째 문자 출력
a='I am Korean'
print(a[0:7])
>> I am Ko

14. print(a[n:])

  • a의 문자열에서 n번째부터 출력
a='I am Korean'
print(a[3:])
>> m Korean

15. print(a[:n])

  • a의 문자열에서 n까지 출력
a='I am Korean'
print(a[:3])
>> I a

16. print(a[-1])

  • a의 마지막 글자 출력
a='I am Korean'
print(a[-1])
>> n

find

  • 특정 문자열의 유무 확인
  • set자료형에서 set in 함수도 가능하지만 find 도 가능하다.
  • 문자가 여러 개 라면 맨 처음에 찾은 인덱스를 반환
  • 찾는 문자가 없으면 -1을 반환

find 사용법

  • 문자열.find(a)
  • 문자열.finx(a,start)
  • 문자열.finx(a,start,end)

rfind

  • 특정 문자열 유무 확인
  • 문자가 여러 개 라면 맨 마지막 인덱스를 반환
  • 찾는 문자가 없으면 -1을 반환
test = "findtest"

a= test.find('d')
print(f"test.find('d') : {a}")

##없는 문자열 찾기
a1= test.rfind('a')
print(f"test.rfind('a') : {a1}")

a2= test.find('a')
print(f"test.rfind('a') : {a2}")

##중복되는 문자열 찾기
a3= test.rfind('t')
print(f"test.rfind('t') : {a3}")

a4= test.find('t')
print(f"test.rfind('t') : {a4}")
  
>>>
test.find('d') : 3
test.rfind('a') : -1
test.rfind('a') : -1
test.rfind('t') : 7
test.rfind('t') : 4

capitalize

  • 첫 문자만 대문자로 변경하고 나머지 문자열은 모두 소문자로 변경한 문자열 반환

title

  • 각 단어의 앞 문자를 대문자로 바꿔주고 다른 문자들은 소문자로 변경한 문자열을 반환
test = "my name is cocobol"
test2 = "your name is cocomong"

##Capitalize
a= test.capitalize()
print(f"test.capitalize() : {a}")

##title
a2=test.title()
print(f"test.title() : {a2}")
  
>>>
test.capitalize() : My name is cocobol
test.title() : My Name Is Cocobol
profile
history and study

0개의 댓글