Pitão

Substituição de string Python usando padrão

Substituição de string Python usando padrão
Quaisquer dados de string podem ser substituídos por outra string em Python usando o substituir () método. Mas se você deseja substituir qualquer parte da string combinando com um padrão específico, então você deve usar uma expressão regular. É usado para procurar um padrão específico num determinado valor de string e a string será substituída por outra string se for encontrada alguma correspondência. Python usa 'ré' módulo para usar o padrão de expressão regular no script para pesquisar, combinar ou substituir. Usar padrões de expressão regular para substituição de stringé um pouco mais lento do que o método replace () normal, mas muitas pesquisas e substituições complicadas podem ser feitas facilmente usando o padrão. Você pode substituir uma string de várias maneiras usando o padrão em Python. Alguns usos comuns de padrão para substituir string são mostrados neste tutorial. Spyder3 editor é usado aqui para escrever e executar o script.

Lista de metacaracteres:

Antes de usar o padrão para substituir a string, você deve saber como escrever um padrão de expressão regular. Você pode usar qualquer valor de string como um padrão para a correspondência exata. Mas para a pesquisa específica, você deve escrever o padrão de expressão regular usando o metacaractere. A lista dos metacaracteres mais usados ​​para escrever padrões é dada abaixo com significado.

    Personagem  Descrição
    .  É usado para corresponder a qualquer caractere, exceto uma nova linha.
    ^  É usado para corresponder a qualquer caractere ou string no início do

fragmento.

    $  É usado para corresponder a qualquer caractere ou string no final da string.
    +  É usado para combinar uma ou mais ocorrências do padrão.
    ?  É usado para combinar zero ou uma ocorrência do padrão.
   ()  É usado para agrupar padrões.
   É usado para combinar com base em inferior ou superior ou inferior e superior

limites.

   []  É usado para combinar caracteres com base no intervalo fornecido.
   |  É usado para combinar padrões com base na lógica OR.
   \  É usado para definir caracteres específicos ou não caracteres ou dígitos ou

não dígitos.

Método de substituição:

sub() método de 'ré' módulo é usado em Python para a substituição de string.

Sintaxe:

sub (padrão, substituir, string, contagem = 0, sinalizadores = 0)

Aqui padronizar, substituir e fragmento são argumentos obrigatórios. Se o padronizar é combinado com qualquer parte do fragmento então ele substituirá a parte pelo valor de substituindo o argumento. Os outros dois argumentos são opcionais. Alguns usos dos metacaracteres mencionados acima com o método sub () são mostrados nos seguintes exemplos de substituição de string.

Exemplo-1: Substituir string por correspondência exata

Se você souber o valor exato da string que deseja pesquisar na string principal, poderá usar o valor da string de pesquisa como um padrão em sub() método. Crie um arquivo python com o seguinte script. Aqui, o valor da string de pesquisa é 'rainy' e o valor da string de substituição é 'sunny'.

#!/ usr / bin / env python3
# Importar módulo regex
importar re
# Defina uma string
orgStr = "É um dia chuvoso"
# Substitua a corda
repStr = re.sub ("chuvoso", "ensolarado", orgStr)
# Imprime a string original
print ("Texto Original:", orgStr)
# Imprime a string substituída
print ("Texto Substituído:", repStr)

Resultado:

A saída é mostrada no lado direito da imagem.

Exemplo 2: Pesquisar e substituir string no início

Crie um arquivo python com o seguinte script para saber o uso de '^' no padrão de expressão regular. Aqui, '^ [A-Za-z] + ' é usado como padrão de pesquisa. Irá pesquisar todos os caracteres alfabéticos de UMA para Z e uma para z no início do texto e substitua-o por um valor vazio. A string substituída será impressa em maiúsculas para superior() método.

#!/ usr / bin / env python3
# Importar módulo regex
importar re
# Pegue uma entrada de string
originalText = input ("Insira um texto \ n")
# Substitua a string com base no padrão
substituídoText = re.sub ('^ [A-Za-z] +', ", originalText).superior()
# Imprime a string substituída
imprimir ("Texto substituído:", texto substituído)

Resultado:

A saída é mostrada no lado direito da imagem. Aqui, 'Olá, bem-vindo ao linuxhint' é tomado como entrada e 'Olá' palavra é substituída por " para o padrão.

Exemplo-3: Pesquisar e substituir string no final

Crie um arquivo python com o seguinte script para saber o uso de '$ ' símbolo no padrão de expressão regular. Aqui, '[a-z0-9] + $'é usado como um padrão no script. Ele pesquisará todos os pequenos alfabetos e dígitos no final do texto e se retornar verdadeiro, a parte correspondente será substituída pela string, 'com.bd'.

#!/ usr / bin / env python3
# Importar módulo regex
importar re
# Pegue uma entrada de string
originalText = input ("Digite um endereço url \ n")
# Substitua a string com base no padrão
substituídoText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Imprime a string substituída
print ("Texto Substituído:", substituídoText)

Resultado:

A saída é mostrada no lado direito da imagem. Aqui, 'https: // www.Google.com 'é considerado como texto de entrada e, após substituir,' https: // www.Google.com.bd 'é impresso como saída.

Exemplo 4: Pesquise e substitua a parte específica de uma string

Crie um arquivo python com o seguinte script para pesquisar e substituir a parte do texto no local onde o padrão corresponde. Aqui, uma lista de endereços de e-mail é atribuída como texto na variável chamada emails. '@ [a-z]' é o padrão usado para pesquisar. Ele pesquisará qualquer subcadeia que comece com pequenos alfabetos seguidos por '@'símbolo. Se alguma sub-string corresponder, ela substituirá essa sub-string por '@linuxhint'.

#!/ usr / bin / env python3
# Importar módulo regex
importar re
# Defina uma string
emails = '\ n [email protegido] \ n [email protegido] \ n [email protegido]'
# Substitua a parte específica da string com base no padrão
substituídoText = re.sub ('@ [a-z] *', '@linuxhint', e-mails)
# Imprime a string original
imprimir ("Texto Original:", e-mails)
# Imprime a string substituída
print ("\ nTexto Substituído:", SubstituídoTexto)

Resultado:

A saída é mostrada no lado direito da imagem. Aqui, cada parte do domínio do endereço de e-mail atribuído no texto é substituída por 'linuxhint'.

Conclusão:

Alguns usos muito comuns dos padrões de expressão regular são mostrados neste tutorial para substituição de string. Existem muitas outras opções em python para escrever diferentes tipos de padrões simples e complicados para pesquisar e substituir a string do texto.

Assista ao vídeo do autor: aqui

O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...
Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...