Pode haver vários cenários de caso em que é necessário extrair uma substring de uma string no python. Por exemplo, enquanto trabalha em grandes conjuntos de dados, pode ser necessário obter dados específicos dos campos de texto ou corresponder a um padrão específico em uma string, como um endereço de e -mail ou número de telefone. Além disso, a operação de extração de substring também auxilia no processamento e análise de texto.
Esta postagem cobrirá as seguintes abordagens:
Método 1: Substring Python Extract usando Regex em “Re.Search () ”Método
O python “ré.procurar()”O método procura a primeira ocorrência da instância do padrão adicionado em uma string e produz um“Corresponder”Objeto. Ele pode ser chamado quando você deseja localizar uma substring específica dentro de uma corda mais longa, mas não tem idéia com que frequência ocorre.
Sintaxe
Para usar o RE.Método de pesquisa (), siga a sintaxe dada:
ré.Pesquisar (padrão, string, sinalizadores)Aqui:
Exemplo 1: Extraindo a substring baseada em texto usando “RE.Search () ”Método
Para utilizar o “ré.procurar()”Método para extrair uma substring, importe primeiro o“ré”Módulo. Este módulo oferece suporte para regex:
importar reDefina a string da qual você deseja recuperar uma substring:
String = 'Linuxhint é o melhor site do tutorial'Então, especifique o regex. Aqui, "r”Indica que é uma corda crua para tratar as reações como personagens literais e“melhor”É a expressão regular definida ou regex:
regex = r'best 'Passe o criado “regex" e "corda" para lá.Search () Método e armazenar o objeto resultante no “corresponder”:
Match = re.Search (regex, string)Agora, adicione a condição fornecida para extrair a substring correspondente do “corresponder”Objeto retornado pelo RE.Método de pesquisa () e exibi -lo no console:
Se a correspondência:Pode -se observar que a substring “melhor”Foi extraído utilizando o“grupo()”Método do objeto Match:
Exemplo 2: Extraindo a substring numérica usando “re.Search () ”Método
Agora, defina uma corda numérica e pesquise a primeira ocorrência de um ou mais dígitos nela passando o “\ d+”Como o regex para“ré.procurar()”Método:
String = '039-6546-0987'No regex especificado:
Como você pode ver, o objeto correspondente foi devolvido pelo “ré.procurar()”Método.
Método 2: Substring Python Extract usando Regex em “Re.Match () ”Método
““ré.corresponder()”Somente procura o regex no início das cordas e produz um objeto de correspondência em caso de uma pesquisa bem -sucedida. Este método pode ser utilizado quando você sabe que a substring ocorre apenas no início da string fornecida.
Sintaxe
Para invocar o RE.MOCHON () Siga a sintaxe dada:
ré.Match (padrão, string, sinalizadores)Exemplo
Em primeiro lugar, defina a expressão regular como “'^l… .T $'”. Este regex corresponde às cordas que começam com “eu", Termine com"t”, E tem exatamente 8 caracteres.
regex = '^l… t $'Então, declare a string. Passe para o Re.Match () Método, juntamente com o regex como argumentos:
String = 'Linuxhint'Adicione o "if-else”Condicionar e especificar as respectivas declarações de impressão para os casos se“Corresponder”O objeto foi devolvido ou não:
Se resultado:Saída
Método 3: Substring Python Extract usando Regex em “Re.Método Findall () ”
O "ré.encontrar tudo()”O método Python procura por todas as instâncias de um padrão dentro das seqüências e produz uma lista de substâncias extraídas. Este método é usado nesses cenários em que é necessário para recuperar várias substringas sem qualquer pedido específico.
Sintaxe
Para invocar o RE.Método findall (), confira a sintaxe dada:
ré.Findall (padrão, string, sinalizadores)Exemplo
Defina uma string compreendendo valores numéricos. Então, especifique o padrão regex como “r '\ d+'”Para combinar um ou mais dígitos:
String = '4 horas Campo Linuxhint por US $ 14.99 'Então, chame o “ré.encontrar tudo()”Método e passe o regex definido e a string como argumentos
Matches = re.Findall (regex, string)Agora, itera sobre o retorno “Corresponder”Objeto armazenado na variável Matches e imprima os elementos no console:
para partida em partidas:Saída
Método 4: Substring Python Extract usando Regex em “Re.Finditer () ”Método
O "ré.Finditer ()”O método funciona da mesma forma que o RE.método findall (). No entanto, ele retorna um iterador em vez de uma lista de substringas. No Python, esse método pode ser utilizado quando existe um grande conjunto de dados e não precisa armazenar todas as partidas de uma só vez. Mais especificamente, o RE.Finditer () Método processa a substring extraída uma de cada vez.
Sintaxe
Para invocar o RE.método finditer (), siga a sintaxe dada:
ré.Finditer (padrão, string, sinalizadores)Exemplo
Primeiro, crie uma string. Então, defina um padrão regex como “r '[a-z]+'”Isso corresponde a uma ou mais letras maiúsculas:
String = 'Linuxhint é o melhor site do tutorial'Passe o regex e a string como argumentos para o “ré.Finditer ()”Método e armazenar o objeto de correspondência resultante em“partidas”:
Matches = re.Finditer (regex, string)Por fim, iterar sobre os elementos do objeto correspondentes, extraia a substring com a ajuda do método "Grupo ()" e imprima no console:
para partida em partidas:Saída
Nós compilamos abordagens essenciais relacionadas à extração de substring em Python.
Conclusão
Para extrair substring usando regex em python, use o “ré.procurar()","ré.Match () ”,“ Re.encontrado () ", ou o" RE.Finditer ()" métodos. Dependendo das suas necessidades, utilize “ré.procurar()”Método quando é necessário extrair apenas a primeira instância do Regex,“ré.corresponder()”Extrai a substring Apresenta o início de uma string,“ré.encontrar tudo()”Recupera várias substâncias de acordo com o padrão e, por fim,“ré.Finditer ()”Processe as múltiplas cordas uma de cada vez. Este blog cobriu os métodos para extrair substring em Python.