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.