728x90
1. 대소문자 관련 함수
1. upper, lower
- str.upper() : str을 대문자로 변경
- str.lower() : str을 소문자로 변경
a = “ I Love You “
print(a.upper())
print(a.lower())
>>>I LOVE YOU
>>>i love you
2. isupper, islower
- str.isupper() : 전체 문장이 대문자인지 확인하여 True, False로 반환
- str.islower() : 전체 문장이 소문자인지 확인하여 True, False로 반환
a = “ I Love You “
print (a.isupper())
print (a.islower())
>>>False
>>>False
2. 해당하는 문자를 제거하는 함수
- str.strip([char]): 문자열의 양쪽에 char에 해당하는 문자가 있을 때 해당하지 않는 문자가 나올 때까지 해당 문자를 삭제함
- str.rstrip([char]): 문자열의 오른쪽에 char에 해당하는 문자가 있을 때 해당하지 않는 문자가 나올 때까지 해당 문자를 삭제함
- str.lstrip([char]): 문자열의 왼쪽에 char에 해당하는 문자가 있을 때 해당하지 않는 문자가 나올 때까지 해당 문자를 삭제함
※ char가 공백일 시 띄어쓰기를 삭제함
1. 띄어쓰기를 제거하는 경우
# char가 주어지지 않아 띄어쓰기를 제거
text = ' Water boils at 100 degrees '
print('[' + text.rstrip() + ']')
print('[' + text.lstrip() + ']')
print('[' + text.strip() + ']')
[ Water boils at 100 degrees]
[Water boils at 100 degrees ]
[Water boils at 100 degrees]
2. 앞뒤로 문자 제거하는 경우
# char에 해당하는 문자를 모두 지움
text = ",,,,,123.....water....pp"
print(text.lstrip(',123.p'))
print(text.rstrip(',123.p'))
print(text.strip(',123.p'))
>>>water....pp
>>>,,,,,123.....water
>>>water
# 다음과 같이 단어 제거도 가능
text = ' Water boils at 100 degrees '
print(text.lstrip(' Water'))
print(text.rstrip(' degrees '))
# 공란도 띄어쓰기로 인지
print(text.strip(' degrees '))
>>>boils at 100 degrees
>>> Water boils at 100
>>>Water boils at 100
3. 특정 문자 대체 및 제거
- str.replace() : 첫번째 문자열을 두번째 문자열로 변환
# str.replace()를 사용하여 특정 문자 제거
string = "Hey! What's up?"
characters = "'!?"
for x in range(len(characters)):
string = string.replace(characters[x],"")
print(string)
>>>Hey Whats up
- str.join() : 특정 구분자를 구분자를 사용하여 문자열으로 변환
animals = ['사자', '코끼리', '기린', '원숭이', '바나나원숭이']
print("/".join(animals))
>>>사자/코끼리/기린/원숭이/바나나원숭이
- re.sub('패턴', '바꿀문자열', '문자열', 바꿀횟수)
print(re.sub('apple|orange', 'fruit', 'apple box orange tree'))
>>>fruit box fruit tree
# 숫자만 찾아서 n으로 바꿈
print(re.sub('[0-9]+', 'n', '1 2 Fizz 4 Buzz Fizz 7 8'))
>>>n n Fizz n Buzz Fizz n n
4. 특정 문자 찾기
- str.find(찾을문자, 찾기시작할위치) : 특정 문자가 있는지 확인하고 그 위치(index) 반환, 없을 시 -1 반환
s='123456789'
print(s.find('2'))
print(s.find('2',2))
>>>1
>>>-1
- startswith(시작하는문자, 시작지점) : 해당 문자로 시작하는지 True, False로 반환
s='123456789'
print(s.startswith('2'))
print(s.startswith('2',1))
>>>False
>>>True
- endswith(끝나는문자, 문자열의시작, 문자열의끝)
s='123456789'
print(s.endswith('9'))
print(s.endswith('9',0,8)) # 시작:1 끝:8
※여기서 주의해야할 점은 string의 범위는(시작, 문자열의 끝-1)이다.
참고
대소문자 관련 함수 - https://medium.com/@ohc43312/파이썬-대소문자-관리-upper-lower-isupper-islower-89aea6bd5c63
여러문자를 제거하는 경우 - https://codechacha.com/ko/python-string-strip/
join - https://ourcstory.tistory.com/46
re.sub() - https://dojang.io/mod/page/view.php?id=2438
특정 문자 찾기 - https://dpdpwl.tistory.com/119
반응형
'파이썬' 카테고리의 다른 글
[PYTHON] zip() (0) | 2021.12.14 |
---|---|
[PYHTHON] 정규표현식 (0) | 2021.12.14 |
[PYTHON] set() (0) | 2021.12.08 |
[PYTHON] strip([char]) (0) | 2021.12.05 |
[PYTHON] lambda 매개변수들 : 반환식 (0) | 2021.12.05 |