Capitalize a primeira letra de cada palavra em Python
-
Capitalize a primeira letra de cada palavra em Python usando o método
string.title()
-
Capitalize cada palavra em Python usando o método
string.capwords()
-
Coloque cada palavra em maiúscula em Python usando os métodos
string.split()
estring.join()
Este tutorial explicará vários métodos para colocar em maiúscula a primeira letra de cada palavra na string em Python. Se tivermos uma string como hey! what's up?
e queremos convertê-lo em Hey! What's Up?
. Podemos fazer isso usando algum método disponível ou separando cada palavra da string, colocando a primeira letra de cada palavra em maiúscula e, em seguida, juntando a string novamente.
Também podemos ter strings como hey... what's up?
e queremos manter o espaçamento original da corda. Este tutorial examinará os vários métodos para resolver esses problemas.
Capitalize a primeira letra de cada palavra em Python usando o método string.title()
O string.title()
é um método embutido que pega uma string como entrada e retorna a string com cada palavra maiúscula no primeiro caractere. O método string.title()
não altera o espaçamento original da string. O exemplo de código abaixo demonstra como usar o método string.title()
para colocar cada letra de uma palavra em maiúscula em Python.
string = "hey! what's up?"
print(string)
print(string.title())
Resultado:
Hey! What's up?
Hey! What'S Up?
Como pode ser observado no exemplo acima, o método string.title()
não funciona bem com os sinais de pontuação, pois coloca a letra em maiúscula após os sinais de pontuação.
Capitalize cada palavra em Python usando o método string.capwords()
O string.capwords(string, sep)
do módulo string
leva a string como o primeiro parâmetro e o sep
como o segundo parâmetro e retorna a string com o primeiro caractere maiúsculo de cada palavra, separado na base do parâmetro sep
. Se nenhum valor for passado para o parâmetro sep
ou definido como None
, os espaços em branco serão usados como separador e um único espaço em branco substituirá um ou mais espaços em branco.
O código de exemplo abaixo mostra como usar o método string.capwords()
para colocar cada palavra da string em maiúscula:
import string
mystring = "hey! what's up?"
print(mystring)
print(string.capwords(mystring))
Resultado:
hey! what's up?
Hey! What's Up?
O problema com este método é que ele irá perder palavras como 'hello'
ou se passarmos o '
como o parâmetro sep
, ele irá capitalizar what's
para what'S
, como mostrado no código de exemplo abaixo de:
import string
mystring = "'hello' what's up?"
print(mystring)
print(string.capwords(mystring))
print(string.capwords(mystring, sep="'"))
Resultado:
'hello' what's up?
'hello' What's Up?
'Hello' what'S up?
Coloque cada palavra em maiúscula em Python usando os métodos string.split()
e string.join()
O método string.split(separator,..)
converte a string em uma lista usando o valor fornecido do parâmetro separator
como o separador. O método string.join(iterable)
pega o objeto iterável como entrada e o converte em uma string usando o argumento de string fornecido como o separador de palavras.
O código de exemplo a seguir demonstra como usar os métodos string.split()
e string.join()
para colocar a primeira letra de cada palavra em Python em maiúscula.
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)
Resultado:
'hello' what's up?
'Hello' What's Up?
Como pode ser notado no exemplo acima, este método pode lidar com as aspas, substantivos possessivos e palavras entre parênteses. Mas o espaçamento original da string será perdido neste método.