[python] 한글 영어 구분해서 시작 문자만 대문자로 바꾸기 title 함수 본문

Python

[python] 한글 영어 구분해서 시작 문자만 대문자로 바꾸기 title 함수

미니모아 2020. 4. 23. 20:20
반응형

한글과 영어가 섞인 문자열에서 영어 시작문자만 대문자로 바꿔야했다.
그래서 처음에는 아래와 같이 정규식을 이용해서 함수를 만들었다.
영어와 한국어를 구분하고 영어면 replace()함수를 이용해서 첫글자만 대문자로 바꿈

import re 
def check_english(string):
    """
    영어 있으면 영어 첫글자 대문자로 바꾸는 함수
    """
    is_english = re.compile('[-a-zA-Z]') 
    temp = is_english.findall(string)   
    if len(temp) > 0: 
        return string.replace(temp[0],temp[0].upper())  
    else:
        return string

근데 띠용 파이썬 str 함수 중에 기본으로 제공 되는 게 있었음

    [문자열].title() 

이 한 줄이면 걍 끝나는 거였음; title()함수는 제목 형식에 맞게 영문자 중에서 첫 글자는 대문자로 나머지 글자들은 소문자로 바꿔줌..

 

생각해보니 내가 만든 함수에서는 영문 첫 글자가 대문자가 아닐 경우 소문자로 바꿔주는 기능이 빠졌음

 

반응형
Comments