Substituir caractere em uma string em Python
-
Use as funções
list()
ejoin()
para substituir um caractere em uma string -
Use a função
bytearray()
para substituir um caractere em uma string -
Use a função
replace()
para substituir caracteres em uma string - Use o método de concatenação de string para substituir um caractere em uma string
Uma string é uma coleção de caracteres. Em Python, as strings são imutáveis. Isso significa que é impossível modificar esses objetos e apenas ser reatribuídos ou uma cópia pode ser criada.
Devido a isso, não é simples substituir caracteres em uma string. Se estivermos lidando com um objeto mutável, podemos facilmente alterar seus elementos, como podemos em uma lista conforme mostrado abaixo.
l = ["a", "b", "c"]
l[1] = "d"
print(l)
Resultado:
['a', 'd', 'c']
Não fazemos o mesmo com uma string. Neste tutorial, aprenderemos como substituir um caractere em uma string.
Use as funções list()
e join()
para substituir um caractere em uma string
Neste método, convertemos a string em uma lista de caracteres usando a função list()
. Mudamos o personagem necessário desta lista. Em seguida, combinamos a lista inteira em uma única string usando a função join()
.
O trecho de código a seguir implementa isso.
s = "Naze"
l = list(s)
l[2] = "m"
s = "".join(l)
print(s)
Resultado:
Name
É um método simples e eficiente, embora seja considerado um pouco lento.
Use a função bytearray()
para substituir um caractere em uma string
um array de bytes é um objeto mutável em Python. É um array de bytes. Podemos converter a string em um array de bytes usando a função bytearray()
, fazer as substituições necessárias e então convertê-la novamente em uma string usando a função str()
.
Por exemplo,
s = "Naze"
b = bytearray(s)
b[2] = "m"
s = str(b)
print(s)
Resultado:
Name
Observe que esse método falha no Python 3.x e superior, pois precisamos codificar a string nas versões recentes.
Use a função replace()
para substituir caracteres em uma string
Python está muito bem equipado com muitas funções para trabalhar com strings. Podemos usar a função replace()
para alterar os caracteres em uma string. Temos que especificar os caracteres antigos e novos na função.
O código a seguir demonstra o uso dessa função.
s = "Naze"
new_s = s.replace("z", "m")
print(new_s)
Resultado:
Name
Observe que este método substitui todas as ocorrências do personagem antigo pelo novo.
Use o método de concatenação de string para substituir um caractere em uma string
Se soubermos a posição do personagem que queremos mudar, esse método pode ser muito útil e rápido. Dividimos a string até essa parte, adicionamos o caractere e então o concatenamos com a parte restante da string que resta.
O trecho de código a seguir implementa isso.
s = "Naze"
new_s = s[:2] + "m" + s[3:]
print(new_s)
Resultado:
Name
Observe que este é o mais rápido de todos os métodos.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn