Substituição de string sem distinção entre maiúsculas e minúsculas usando programa Python
Neste artigo, aprenderemos a substituição de strings sem distinção entre maiúsculas e minúsculas em python.
Métodos usados
A seguir estão os vários métodos para realizar esta tarefa -
Usando re.IGNORECASE, re.escape(), re.sub()
Usando funções re.sub(), lambda, re.escape()
Usando funções split(), lower() e replace()
-
Usando funções split(), list() e join()
Método 1: usando re.IGNORECASE, re.escape(), re.sub()
função re.compile()
Um padrão de expressão regular pode ser combinado com objetos padrão, que podem então ser usados para correspondência de padrões. Esta função também permite procurar novamente um padrão sem reescrevê-lo.
Sintaxe
re.compile(pattern, repl, string)
função re.sub()
A string com valores substituídos é retornada pela função re.sub(), que significa uma substring. Quando usamos esta função, podemos substituir vários elementos por uma lista.
Sintaxe
re.sub(pattern, repl, string, count=0, flags=0)
função re.escape()
Esta função retorna uma string com todos os caracteres não alfanuméricos com barras invertidas. Se você deseja corresponder uma string literal arbitrária que pode conter metacaracteres de expressão regular, esta função pode ser usada.
Algoritmo (etapas)
A seguir estão os algoritmos/etapas a serem seguidas para realizar a tarefa desejada –
Use a palavra-chave import para importar o módulo re(regex).
Crie uma variável para armazenar a string de entrada.
Imprima a string de entrada.
Crie outra variável para armazenar a string de substituição de entrada a ser substituída.
Inicialize uma substring a ser substituída.
-
Ignore todos os casos da string fornecida usando os atributos compile(), escape() e IGNORECASE (re.IGNORECASE é usado para ignorar casos).
Substitua a substring pela substituição de uma string usando a função regex sub()
Imprima a string resultante após substituir sem distinção entre maiúsculas e minúsculas.
Exemplo
O programa a seguir retorna uma string após a substituição de string sem distinção entre maiúsculas e minúsculas usando as funções re.IGNORECASE, re.escape(), re.sub() –
# importing re(regex) module
import re
# input string
inputString = "hello TuTorialsPOint python"
# printing input string
print("Input String: ", inputString)
# input replace string to be replaced with
replaceString = "java"
# substring to be replaced
subString = "tutorialspoint"
# compilation step to escape the word for all cases
# the re.IGNORECASE is used to ignore cases
compileObj = re.compile(re.escape(subString), re.IGNORECASE)
#Substitute the substring with replacing a string using the regex sub() function
resultantStr = compileObj.sub(replaceString, inputString)
# printing resultant string after replacing
print("Resultant string after replacing: ", resultantStr)
Saída
Na execução, o programa acima irá gerar a seguinte saída –
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Método 2: usando funções re.sub(), lambda, re.escape()
função lambda
Uma função lambda é uma pequena função anônima.
Uma função lambda pode ter um número ilimitado/qualquer número de argumentos, mas apenas uma expressão.
Sintaxe
lambda arguments : expression
Exemplo
O programa a seguir retorna uma string após a substituição de string sem distinção entre maiúsculas e minúsculas usando as funções re.sub(), lambda, re.escape() –
# importing re(regex) module
import re
# input string
inputString = "hello TuTorialsPOint python"
# printing input string
print("Input String: ", inputString)
# input replace string to be replaced with
replaceString = "java"
# substring to be replaced
subString = "tutorialspoint"
resultantStr = re.sub('(?i)'+re.escape(subString), lambda k: replaceString, inputString)
print("Resultant string after replacing: ", resultantStr)
Saída
Na execução, o programa acima irá gerar a seguinte saída –
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Método 3: usando funções split(), lower() e replace()
split() - divide uma string em uma lista. Podemos definir o separador; o separador padrão é qualquer espaço em branco.
lower() - converte todos os caracteres maiúsculos de uma string em caracteres minúsculos
função replace() - retorna uma cópia da string que substitui todas as ocorrências de uma substring antiga por outra nova substring.
Sintaxe
string.replace(old, new, count)
Exemplo
O programa a seguir retorna uma string após a substituição de string sem distinção entre maiúsculas e minúsculas usando as funções split(), lower() e replace() –
# input string
inputString = "hello TuTorialsPOint python"
# printing input string
print("Input String: ", inputString)
# input replace string to be replaced with
replaceString = "java"
# substring to be replaced
subString = "tutorialspoint"
# splitting input string into a list of words
wordsList = inputString.split()
# traversing through each word of words list
for word in wordsList:
# checking whether the current word is equal to the given substring
# by converting them into lowercase using the lower() function
if(word.lower() == subString.lower()):
# replacing current word with the input replace string
inputString = inputString.replace(word, replaceString)
print("Resultant string after replacing: ", inputString)
Saída
Na execução, o programa acima irá gerar a seguinte saída –
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Método 4: usando as funções split(), list() e join()
join() - join() é uma função de string em Python que é usada para unir elementos de uma sequência que são separados por um separador de string. Esta função conecta elementos de sequência para converter em uma string.
Função list() (converte a sequência/iterável em uma lista).
Exemplo
O programa a seguir retorna uma string após a substituição de string sem distinção entre maiúsculas e minúsculas usando as funções split(), list() e join() –
# input string
inputString = "hello TuTorialsPOint python"
# printing input string
print("Input String: ", inputString)
# input replace string to be replaced with
replaceString = "java"
# substring to be replaced
subString = "tutorialspoint"
# splitting input string into a list of words
wordsList = inputString.split()
# traversing through index and word of @@ words list
for index, word in enumerate(wordsList):
# converting current word into lowercase and checking
# whether it is equal to substring
if word.lower() == subString:
# replacing that word with the given replace string
wordsList[index] = replaceString
# converting words of wordlist into a string
resultantStr = " ".join([word for word in wordsList])
print("Resultant string after replacing: ", resultantStr)
Saída
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Conclusão
Neste artigo, aprendemos como usar 4 métodos diferentes para substituir a string fornecida sem distinção entre maiúsculas e minúsculas. Além disso, aprendemos como usar o atributo IGNORECASE do módulo regex para ignorar os casos da string.