Python: comprueba si la cadena contiene subcadena

En este artículo, examinaremos cuatro formas de usar Python para verificar si una cadena contiene una subcadena. Cada uno tiene sus propios casos de uso y sus pros / contras, algunos de los cuales cubriremos brevemente aquí:

1) El inOperador

La forma más fácil de verificar si una cadena Python contiene una subcadena es usar el inoperador. El inoperador se utiliza para verificar las estructuras de datos para la pertenencia a Python. Devuelve un valor booleano (cualquiera TrueFalse) y se puede utilizar de la siguiente manera:
fullstring = "StackAbuse"  
substring = "tack"

if substring in fullstring:  
    print "Found!"
else:  
    print "Not found!"
Este operador es un __contains__método abreviado para llamar al método de un objeto y también funciona bien para verificar si un elemento existe en una lista.

2) El String.index()Método

El tipo de cadena en Python tiene un método llamado indexque se puede usar para encontrar el índice de inicio de la primera aparición de una subcadena en una cadena. Si no se encuentra la subcadena, ValueErrorse lanza una excepción, que se puede manejar con un bloque try-except-else:
fullstring = "StackAbuse"  
substring = "tack"

try:  
    fullstring.index(substring)
except ValueError:  
    print "Not found!"
else:  
    print "Found!"
Este método es útil si necesita conocer la posición de la subcadena, en lugar de solo su existencia dentro de la cadena completa.

3) El String.find()Método

El tipo String tiene otro método llamado findque es más conveniente de usar que index, porque no debemos preocuparnos por el manejo de las excepciones. Si findno encuentra una coincidencia, devuelve -1, de lo contrario, devuelve el índice más a la izquierda de la subcadena en la cadena más grande.
fullstring = "StackAbuse"  
substring = "tack"

if fullstring.find(substring) != -1:  
    print "Found!"
else:  
    print "Not found!"
Si prefiere evitar la necesidad de detectar errores, entonces este método debe ser favorecido index.

4) Expresiones Regulares (REGEX)

Las expresiones regulares proporcionan una forma más flexible (aunque más compleja) de verificar las cadenas para la coincidencia de patrones. Python se envía con un módulo incorporado para expresiones regulares, llamado reEl remódulo contiene una función llamada search, que podemos usar para hacer coincidir un patrón de subcadena de la siguiente manera:
from re import search

fullstring = "StackAbuse"  
substring = "tack"

if search(substring, fullstring):  
    print "Found!"
else:  
    print "Not found!"
Este método es mejor si necesita una función de comparación más compleja, como una coincidencia que no distinga mayúsculas y minúsculas. De lo contrario, se debe evitar la complicación y la menor velocidad de las expresiones regulares para los casos de uso que coinciden con la subcadena simple.

Acerca de: Programator

Somos Instinto Programador

0 comentarios:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Con tecnología de Blogger.