Remova a substring fornecida do final de uma string usando Python
Python é uma linguagem de programação usada globalmente para diversos fins pelos desenvolvedores. Python possui diversas aplicações como Desenvolvimento Web, Ciência de Dados, Aprendizado de Máquina e também para realizar diversos processos com automação. Todos os diferentes programadores que usam python precisam lidar com strings e substrings. Portanto, neste artigo aprenderemos como remover a substring presente no final de uma string.
Diferentes métodos para remover substrings
Usando funções
Usaremos a função endswith() que nos ajuda a remover a substring presente no final de uma string. Para entendê-lo de forma mais clara, tomaremos o seguinte exemplo:
Exemplo
def remove_substring(string, substring): #Defining two different parameters
if string.endswith(substring):
return string[:len(string)-len(substring)] #If substring is present at the end of the string then the length of the substring is removed from the string
else:
return string #If there is no substring at the end, it will return with the same length
# Example
text = "Hello Everyone, I am John, The Sailor!"
last_substring = ", The Sailor!" #Specifying the substring
#Do not forget to enter the last exclamation mark, not entering the punctuations might lead to error
Without_substring = remove_substring(text, last_substring)
print(Without_substring)
Saída
A saída do código acima será a seguinte:
Hello Everyone, I am John
Cortando a corda
Neste método iremos fatiar a substring presente no final da string. Python fornece o recurso de fatiar um texto ou string presente no código. Definiremos a substring no programa e correspondentemente ela será fatiada. O código junto com o exemplo para remover a substring usando este método é o seguinte:
Exemplo
def remove_substring(string, substring):
if string[-len(substring):] == substring: #The length of last characters of the string (length of substring) is compared with the substring and if they are same the substring is removed
return string[:-len(substring)]
else:
return string #If the length of last characters(Substring) does not match with the length of last substring then the characters are not removed
# Example
Whole_string = "Hello Everyone, I am John, the Sailor!"
last_substring = ", the Sailor!"
Final_String = remove_substring(Whole_string, last_substring)
print(Final_String)
Saída
A saída do código acima será a seguinte:
Hello Everyone, I am John
módulo re
O módulo re presente na linguagem de programação Python é usado para trabalhar com funções regulares. Podemos usar uma dessas funções do módulo re para remover a substring no final da string. A função que usaremos é a função re.sub(). O código e o exemplo para remover a última substring da string usando as funções do módulo re são os seguintes:
Exemplo
import re #Do not forget to import re module or it might lead to error while running the program
def remove_substring(string, substring):
pattern = re.escape(substring) + r'$' #re.escape is used to create a pattern to treat all symbols equally and it includes $ to work only on the substring on the end of the string
return re.sub(pattern, '', string) #This replaces the last substring with an empty space
# Example
Whole_string = "Hello Everyone, I am John, the Sailor!"
last_substring = ", the Sailor!"
Final_String = remove_substring(Whole_string, last_substring)
print(Final_String)
Saída
A saída do código acima será a seguinte:
Hello Everyone, I am John
Fatiar junto com uma função
A função rfind() será usada neste caso, que começa a encontrar a substring definida do lado direito e então podemos remover a substring com a ajuda do recurso de fatiamento. Você pode entender isso melhor com a ajuda do seguinte exemplo:
Exemplo
def remove_substring(string, substring):
index = string.rfind(substring) #rfind() is used to find the highest index of the substring in the string
if index != -1 and index + len(substring) == len(string): # If a substring is found, it is removed by slicing the string
return string[:index]
else:
return string #If no substring is found the original string is returned
# Example
Whole_string = "Hello Everyone, I am John, the Sailor!"
last_substring = ", the Sailor!"
Final_String = remove_substring(Whole_string, last_substring)
print(Final_String)
Saída
A saída do código acima será a seguinte:
Hello Everyone, I am John
módulo re com grupo de captura
Este é um método diferente de usar o módulo re para remover a substring presente no final da string. Um grupo de captura é usado junto com o módulo de expressão regular para remover a substring. O código e exemplo para remover a substring com a ajuda do grupo de captura é o seguinte:
Exemplo
import re #Do not forget to import the re module or error might occur while running the code
def remove_substring(string, substring):
pattern = re.escape(substring) + r'(?=$)' # A function is created first and re.escape is used so that all the functions are created equally
return re.sub(pattern, '', string) # With the help of re.sub() function, the substring will be replaced with empty place
# Example
Whole_string = "Hello Everyone, I am John, the Sailor!"
last_substring = ", the Sailor!"
Final_String = remove_substring(Whole_string, last_substring)
print(Final_String)
Saída
A saída do código acima será a seguinte:
Hello Everyone, I am John
Conclusão
A necessidade de fazer alterações na string é muito comum entre todos os usuários espalhados pelo mundo, mas muitas vezes esse processo de remoção da string pode consumir muito tempo se a abordagem correta não for seguida. Portanto, este artigo descreve muitos métodos diferentes mencionados acima que podem ser usados para remover substring do final de uma string usando python. Pode haver outros métodos possíveis para remover a substring, mas os métodos mencionados neste artigo são os métodos mais curtos e simples sugeridos, que você pode selecionar com base em seu campo de aplicação.