Python string.replace() – Como substituir um caractere em uma cadeia de caracteres
Python tem vários métodos de modificação de string, e um deles é o método substituir
.
Neste artigo, mostrarei como esse método pode ser usado para substituir um caractere em uma cadeia de caracteres.
Como funciona o método replace
em Python
O método replace
string retorna uma nova string com alguns caracteres da string original substituídos por novos. A cadeia de caracteres original não é afetada ou modificada.
A sintaxe do método replace
é:
string.replace(old_char, new_char, count)
O argumento old_char
é o conjunto de caracteres a serem substituídos.
O argumento new_char
é o conjunto de caracteres que substitui o old_char
.
O argumento count
, que é opcional, especifica quantas ocorrências serão substituídas. Se isso não for especificado, todas as ocorrências do old_char
serão substituídas pelo new_char
.
Vejamos alguns exemplos.
Exemplos de string.replace()
Aqui está um exemplo que substitui "JavaScript" por "PHP" em uma string:
str = "I love JavaScript. I prefer JavaScript to Python because JavaScript looks more beautiful"
new_str = str.replace("JavaScript", "PHP")
print(new_str)
# I love PHP. I prefer PHP to Python because PHP looks more beautiful
Você pode ver como o método replace
substitui as ocorrências "JavaScript" por "PHP".
Neste exemplo, as três ocorrências de "JavaScript" são substituídas por "PHP". E se você quisesse que apenas uma ocorrência fosse substituída? Em seguida, você pode usar o argumento count
da seguinte forma:
str = "I love JavaScript. I prefer JavaScript to Python because JavaScript looks more beautiful"
new_str = str.replace("JavaScript", "PHP", 1)
print(new_str)
# I love PHP. I prefer JavaScript to Python because JavaScript looks more beautiful
Ao aplicar um argumento count
de 1, você pode ver que apenas o primeiro "JavaScript" (a primeira ocorrência) é substituído por "PHP". Os restantes "JavaScript" permanecem intocados.
Quando usar o método replace
em Python
Um bom caso de uso deste método é substituir caracteres na entrada de um usuário para se adequar a algum padrão.
Digamos, por exemplo, que você queira que os usuários insiram seus nomes de usuário, mas não deseja o caractere de espaço em branco na entrada do nome de usuário. Você pode usar o método replace
para substituir os espaços em branco nas cadeias de caracteres enviadas por um hífen. Veja como fazer isso:
user_input = "python my favorite"
updated_username = user_input.replace(" ", "-")
print(updated_username)
# python-my-favorite
A partir do resultado do método de substituição
, você pode ver que os espaços em branco foram substituídos por hífenes que atenda ao seu padrão.
Conclusão
O método replace
substitui uma substring existente em uma string por uma nova substring. Você especifica quantas ocorrências da substring existente devem ser substituídas pelo argumento count
do método.