본문 바로가기

파이썬

[파이썬] import re 사용하기

문자열 라이브러리 re 사용하기!


# 대문자를 소문자로 변경

import re

 

answer = 'ASWQsdjk.f3-d12'

answer = re.sub('[^a-z\d\-\_\.]''', answer.lower())

 

print(answer)

[결과] aswqsdjk.f3-d12

- 소문자(a-z), 숫자(\d), 빼기(\-), 밑줄(\-), 마침표(\.)를 제외한(대괄호 [] 맨 앞에 ^를 붙여준다.) 모든 문자 제거

- 빼기, 밑줄, 마침표 앞에 오는 \는 이스케이프

- 정규표현식이 일치하면 '' 빈 문자로 치환(sub)하여 문자를 제거


 

# 마침표 두 번 이상일 때 하나로 변경

import re

 

answer = '!.^^$ASW...Q@#sdjk..f3-d12'

answer = re.sub('\.\.+''.', answer)

 

print(answer)

[결과] !.^^$ASW.Q@#sdjk.f3-d12

- 마침표가 2번 이상 (\.\.+)인 것을 마침표로 치환(sub)

 


# 양 끝 마침표 제거

import re

 

answer = '.!.^^$ASW...Q@#sdjk..f3-d12.'

answer = re.sub('^\.|\.$''', answer)

 

print(answer)

[결과] !.^^$ASW...Q@#sdjk..f3-d12

- 마침표가 처음(^\.)이나 끝(\.$)

 


# 길이가 16자 이상이면 1~15자만 남기기 & 맨 끝 마침표 제거

import re

 

answer = '.!.^^$ASW...Q@#sdjk..f3-d12.'

answer = re.sub('\.$''', answer[0:15])

 

print(answer)

[결과] .!.^^$ASW...Q@#

- 맨 끝에 위치한 마침표('\.$')

 


# 길이가 2 이하이면 3 이상으로 만들기

import re

 

answer = 'a'

 

while len(answer) < 3:

        answer += answer[-1:]

 

print(answer)

[결과] aaa