Sostituzione di stringhe senza distinzione tra maiuscole e minuscole utilizzando il programma Python
In questo articolo impareremo la sostituzione delle stringhe senza distinzione tra maiuscole e minuscole in Python.
Metodi utilizzati
Di seguito sono riportati i vari metodi per eseguire questo compito: -
Utilizzando re.IGNORECASE, re.escape(), re.sub()
Utilizzo delle funzioni re.sub(), lambda, re.escape()
Utilizzo delle funzioni split(), lower() e replace()
-
Utilizzo delle funzioni split(), list() e join()
Metodo 1: utilizzo di re.IGNORECASE, re.escape(), re.sub()
funzione re.compile()
Un modello di espressione regolare può essere combinato con oggetti modello, che possono quindi essere utilizzati per la corrispondenza dei modelli. Questa funzione permette anche di ricercare nuovamente un pattern senza riscriverlo.
Sintassi
re.compile(pattern, repl, string)
funzione re.sub()
La stringa con i valori sostituiti viene restituita dalla funzione re.sub(), che rappresenta una sottostringa. Quando utilizziamo questa funzione, possiamo sostituire diversi elementi con un elenco.
Sintassi
re.sub(pattern, repl, string, count=0, flags=0)
funzione re.escape()
Questa funzione restituisce una stringa con tutti i caratteri non alfanumerici barrati indietro. Se si desidera far corrispondere una stringa letterale arbitraria che potrebbe contenere metacaratteri di espressioni regolari, è possibile utilizzare questa funzione.
Algoritmo (passaggi)
Di seguito sono riportati gli algoritmi/passaggi da seguire per eseguire l'attività desiderata:
Utilizzare la parola chiave import per importare il modulo re(regex).
Crea una variabile per memorizzare la stringa di input.
Stampa la stringa di input.
Crea un'altra variabile per memorizzare la stringa di sostituzione dell'input con cui essere sostituita.
Inizializza una sottostringa da sostituire.
-
Ignora tutti i casi della stringa data utilizzando gli attributi compile(), escape() e IGNORECASE (re.IGNORECASE viene utilizzato per ignorare i casi).
Sostituisci la sottostringa sostituendo una stringa utilizzando la funzione regex sub()
Stampa la stringa risultante dopo aver sostituito la distinzione tra maiuscole e minuscole.
Esempio
Il seguente programma restituisce una stringa dopo la sostituzione della stringa senza distinzione tra maiuscole e minuscole utilizzando le funzioni 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)
Produzione
All'esecuzione, il programma sopra genererà il seguente output:
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Metodo 2: utilizzo delle funzioni re.sub(), lambda, re.escape()
funzione lambda
Una funzione lambda è una piccola funzione anonima.
Una funzione lambda può avere un numero illimitato/qualsiasi di argomenti ma solo un'espressione.
Sintassi
lambda arguments : expression
Esempio
Il seguente programma restituisce una stringa dopo la sostituzione della stringa senza distinzione tra maiuscole e minuscole utilizzando le funzioni 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)
Produzione
All'esecuzione, il programma sopra genererà il seguente output:
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Metodo 3: utilizzo delle funzioni split(), lower() e replace()
split() - divide una stringa in una lista. Possiamo definire il separatore; il separatore predefinito è qualsiasi spazio bianco.
lower() - converte tutti i caratteri maiuscoli in una stringa in caratteri minuscoli
funzione sostitutiva() - restituisce una copia della stringa che sostituisce tutte le occorrenze di una vecchia sottostringa con un'altra nuova sottostringa.
Sintassi
string.replace(old, new, count)
Esempio
Il seguente programma restituisce una stringa dopo la sostituzione della stringa senza distinzione tra maiuscole e minuscole utilizzando le funzioni 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)
Produzione
All'esecuzione, il programma sopra genererà il seguente output:
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Metodo 4: utilizzo delle funzioni split(), list() e join()
join() − join() è una funzione di stringa in Python utilizzata per unire elementi di una sequenza separati da un separatore di stringa. Questa funzione collega gli elementi della sequenza da convertire in una stringa.
Funzione list() (converte la sequenza/iterabile in una lista).
Esempio
Il seguente programma restituisce una stringa dopo la sostituzione della stringa senza distinzione tra maiuscole e minuscole utilizzando le funzioni 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)
Produzione
Input String: hello TuTorialsPOint python
Resultant string after replacing: hello java python
Conclusione
In questo articolo, abbiamo imparato come utilizzare 4 metodi diversi per sostituire la stringa specificata senza distinzione tra maiuscole e minuscole. Inoltre, abbiamo imparato come utilizzare l'attributo IGNORECASE del modulo regex per ignorare i casi della stringa.