Python에서 각 단어의 첫 글자를 대문자로

Muhammad Waiz Khan 2023년1월30일
  1. string.title()메소드를 사용하여 Python에서 각 단어의 첫 글자를 대문자로 표시
  2. string.capwords()메소드를 사용하여 Python의 각 단어를 대문자로 표시
  3. string.split()string.join()메소드를 사용하여 Python의 각 단어를 대문자로 표시
Python에서 각 단어의 첫 글자를 대문자로

이 튜토리얼은 파이썬에서 문자열에있는 각 단어의 첫 글자를 대문자로 바꾸는 다양한 방법을 설명합니다. hey! what's up? 그리고 우리는 그것을Hey! What's Up?. 사용 가능한 방법을 사용하거나 문자열의 각 단어를 분리하고 각 단어의 첫 글자를 대문자로 한 다음 문자열을 다시 결합하여 그렇게 할 수 있습니다.

hey... what's up?와 같은 문자열이있을 수도 있습니다. 문자열의 원래 간격을 유지하려고합니다. 이 튜토리얼에서는 이러한 문제를 해결하기위한 다양한 방법을 살펴 봅니다.

string.title()메소드를 사용하여 Python에서 각 단어의 첫 글자를 대문자로 표시

string.title()은 문자열을 입력으로 취하고 각 단어의 첫 번째 문자가 대문자로 된 문자열을 리턴하는 내장 메소드입니다. string.title()메소드는 문자열의 원래 간격을 변경하지 않습니다. 아래 코드 예제는string.title()메소드를 사용하여 Python에서 단어의 각 문자를 대문자로 표시하는 방법을 보여줍니다.

string = "hey! what's up?"
print(string)
print(string.title())

출력:

Hey! What's up?
Hey! What'S Up?

위의 예에서 알 수 있듯이string.title()메소드는 구두점 뒤의 문자를 대문자로 표시하므로 구두점과 잘 작동하지 않습니다.

string.capwords()메소드를 사용하여 Python의 각 단어를 대문자로 표시

string모듈의string.capwords(string, sep)는 문자열을 첫 번째 매개 변수로 사용하고sep를 두 번째 매개 변수로 사용하여 각 단어의 첫 번째 문자를 대문자로 구분하여 문자열을 반환합니다. sep매개 변수의. sep매개 변수에 값이 전달되지 않거나None으로 설정되면 공백이 구분 기호로 사용되고 단일 공백이 하나 이상의 공백을 대체합니다.

아래 예제 코드는string.capwords()메소드를 사용하여 문자열의 각 단어를 대문자로 표시하는 방법을 보여줍니다.

import string

mystring = "hey!   what's up?"
print(mystring)
print(string.capwords(mystring))

출력:

hey!   what's up?
Hey! What's Up?

이 방법의 문제점은'hello'와 같은 단어를 놓치거나sep매개 변수로'를 전달하면 예제 코드에 표시된대로what'swhat'S로 대문자로 표시한다는 것입니다. 이하:

import string

mystring = "'hello'   what's up?"
print(mystring)
print(string.capwords(mystring))
print(string.capwords(mystring, sep="'"))

출력:

'hello'   what's up?
'hello' What's Up?
'Hello'   what'S up?

string.split()string.join()메소드를 사용하여 Python의 각 단어를 대문자로 표시

string.split(separator,..)메소드는separator매개 변수의 제공된 값을 구분 기호로 사용하여 문자열을 목록으로 변환합니다. string.join(iterable)메소드는 반복 가능한 객체를 입력으로 취하고 제공된 문자열 인수를 단어 구분 기호로 사용하여 문자열로 변환합니다.

아래 예제 코드는string.split()string.join()메소드를 사용하여 Python에서 각 단어의 첫 글자를 대문자로 표시하는 방법을 보여줍니다.

import re

s = "'hello'   what's up?"
print(s)
slist = []
for word in s.split():
    if word[0] in ("'", '"', "("):
        word = word[0] + word[1].upper() + word[2:]
        slist.append(word)
    else:
        word = word[0].upper() + word[1:]
        slist.append(word)
    new_string = " ".join(slist)
print(new_string)

출력:

'hello'   what's up?
'Hello' What's Up?

위의 예에서 알 수 있듯이, 이 방법은 인용문, 소유 명사 및 괄호 사이의 단어를 처리할 수 있다. 그러나 이 방법에서는 문자열의 원래 간격이 손실됩니다.

관련 문장 - Python String