logo

Compruebe si la cadena contiene una subcadena en Python

Este artículo cubrirá cómo comprobar si un Pitón cadena contiene otra cadena o una subcadena en Python. Dadas dos cadenas, verifique si hay una subcadena en la cadena dada.

  Input:   Substring = 'geeks'   String='geeks for geeks'   Output:   yes   Input:   Substring = 'geek'  String='geeks for geeks'   Output:   yes   Explanation:   In this, we are checking if the substring is present in a given string or not.>

Subcadena de Python en cadena

Verificar una subcadena es una de las tareas más utilizadas en Python. Python usa muchos métodos para verificar una cadena que contiene una subcadena como find(), index(), count(), etc. El método más eficiente y rápido es usar un en operador que se utiliza como operador de comparación. Aquí cubriremos diferentes enfoques:



  • Usando el If-Else
  • Usando en el operador
  • Comprobando usando método dividir()
  • Usando método buscar()
  • Usando método contar()
  • Usando método índice()
  • Usando la comprensión de listas
  • Usando la función lambda
  • Usando __contains__ clase mágica.
  • Usando la función de corte
  • Usando expresiones regulares
  • usando el método operador contiene()

Controlar Subcadena de Python en cadena usando el If-Else

En Python, puede verificar que la subcadena de Python en la cadena esté presente usando un si no declaración. La declaración if-else le permite ejecutar condicionalmente diferentes bloques de código en función de si la condición es verdadera o falsa.

Python3








# Take input from users> MyString1>=> 'A geek in need is a geek indeed'> > if> 'need'> in> MyString1:> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)>

>

>

Producción

Yes! it is present in the string>

Complejidad del tiempo: En)
Espacio Auxiliar: O(1)

Comprobación de la subcadena de Python en una cadena usando En operador

En Python, puedes verificar fácilmente si una subcadena está presente en una cadena determinada usando elin>operador. Elin>El operador se utiliza para probar si existe un valor particular (subcadena) dentro de una secuencia.

Python3




text>=> 'Geeks welcome to the Geek Kingdom!'> > if> 'Geek'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)> > if> 'For'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)>

>

>

Producción

Substring found! Substring not found!>

Complejidad del tiempo: En)
Espacio Auxiliar: O(1)

Comprobación de la subcadena de Python en una cadena usando el método Split()

Comprobar que la subcadena de Python en la cadena está presente o no se utiliza dividir(). Primero divida la cadena dada en palabras y guárdelas en una variable s, luego, usando la condición if, verifique si una subcadena está presente en la cadena dada o no.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->tomando información del usuario> substring>=> 'geeks'> # or substring=input()> > # splitting words in a given string> s>=> string.split()> > # checking condition> # if substring is present in the given string then it gives output as yes> if> substring>in> s:> >print>(>'yes'>)> else>:> >print>(>'no'>)>

>

>

Producción

Yes>

Complejidad del tiempo: O(norte + metro)
Espacio Auxiliar: En)

Verifique la subcadena de Python en una cadena usando el método Find()

Podemos comprobar iterativamente cada palabra, pero Python nos proporciona una función incorporada encontrar() que comprueba si hay una subcadena presente en la cadena, lo cual se realiza en una línea. La función find() devuelve -1 si no se encuentra; de lo contrario, devuelve la primera aparición, por lo que con esta función se puede resolver este problema.

Python3


cómo ejecutar un script en Linux



def> check(string, sub_str):> >if> (string.find(sub_str)>=>=> ->1>):> >print>(>'NO'>)> >else>:> >print>(>'YES'>)> > > # driver code> string>=> 'geeks for geeks'> sub_str>=> 'geek'> check(string, sub_str)>

>

>

Producción

Yes>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en una cadena usando el método Count()

También puedes contar el número de apariciones de una subcadena específica en una cadena, luego puedes usar Python contar() método. Si no se encuentra la subcadena, se imprimirá sí; de lo contrario, se imprimirá no.

Python3




def> check(s2, s1):> >if> (s2.count(s1)>>0>):> >print>(>'YES'>)> >else>:> >print>(>'NO'>)> > > s2>=> 'A geek in need is a geek indeed'> s1>=> 'geeks'> check(s2, s1)>

¿Qué es una interfaz?

>

>

Producción

No>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en la cadena usando el método Index()

El Método índice() devuelve el índice inicial de la subcadena pasada como parámetro. Aquí subcadena está presente en el índice 16.

Python3




any_string>=> 'Geeks for Geeks substring '> start>=> 0> end>=> 1000> print>(any_string.index(>'substring'>, start, end))>

>

>

Producción

16>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en la cadena u cantar lista de comprensión

Para verificar la subcadena de Python en una cadena usando comprensión de la lista . El uso de la comprensión de listas proporciona una forma concisa de comprobar si hay una subcadena en una cadena y determinar si existe en alguna de las palabras.

Python3




s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])>

>

>

Producción

['Yes']>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en la cadena usando la función Lambda

Para verificar la subcadena de Python en una cadena usando función lambda . El uso de una función lambda proporciona una forma concisa de comprobar si hay una subcadena en una cadena y determinar si existe en alguna de las palabras.

Python3




s>=>'geeks for geeks'> s2>=>'geeks'> x>=>list>(>filter>(>lambda> x: (s2>in> s),s.split()))> print>([>'yes'> if> x>else> 'no'>])>

>

>

Producción

['Yes']>

Complejidad del tiempo: O(norte + metro)
Espacio Auxiliar: O(m)

Verifique la subcadena de Python en String usando la clase mágica __contains__.

Para verificar la subcadena de Python en una cadena usamos __contains__(). Este método se utiliza para comprobar si la cadena está presente en la otra cadena o no.

Python3




a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)>

>

>

Producción

Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en la cadena usando rebanar

Verifique la subcadena de Python en la cadena usando corte. Esta implementación utiliza un bucle para iterar a través de cada índice inicial posible de la subcadena en la cadena y luego usa rebanar para comparar la subcadena actual con el argumento de la subcadena. Si la subcadena actual coincide con el argumento de la subcadena, entonces la función devuelve Verdadero; de lo contrario, devuelve Falso.

Python3




def> is_substring(string, substring):> >for> i>in> range>(>len>(string)>-> len>(substring)>+> 1>):> >if> string[i:i>+>len>(substring)]>=>=> substring:> >return> True> >return> False> string>=> 'A geeks in need is a geek indeed'> substring>=> 'geeks'> print>(is_substring(string,substring))>

>

>

Producción

True>

Complejidad del tiempo: En M)
donde n es la longitud del argumento de cadena y m es la longitud del argumento de subcadena. Esto se debe a que la función usa un bucle para iterar a través de cada índice inicial posible de la subcadena en la cadena y luego usa el corte para comparar la subcadena actual con el argumento de la subcadena. En el peor de los casos, el bucle se iterará n-m+1 veces, y cada operación de corte tomará O(m) tiempo, lo que dará como resultado una complejidad de tiempo total de O((n-m+1)m) = O(nm) .
Espacio Auxiliar: O(1)

Verifique la subcadena de Python en una cadena usando una expresión regular

En Python, puede verificar que la subcadena de Python en la cadena esté presente usando expresiones regulares . Las expresiones regulares proporcionan poderosas capacidades de coincidencia de patrones, lo que le permite definir patrones de búsqueda complejos para la coincidencia de subcadenas. A continuación se explica cómo puede utilizar expresiones regulares para comprobar si hay una subcadena en una cadena.

Python3




import> re> > MyString1>=> 'A geek in need is a geek indeed'> > if> re.search(>'need'>, MyString1):> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)>

>

>

Producción

Yes! it is present in the string>

Complejidad del tiempo: O(n), donde n es la longitud de la cadena de entrada.
Complejidad espacial: O(1), ya que no estamos utilizando ningún espacio adicional

Verifique la subcadena de Python en la cadena usando el método operator.contains()

Este enfoque utilizadooperador.contiene()método para verificar si la subcadena está presente en la cadena. Si la condición es Verdadera, imprima sí; de lo contrario, imprima no

Python3

métodos de cadena java




#Python program to check if a substring is present in a given string> import> operator as op> s>=>'geeks for geeks'> s2>=>'geeks'> if>(op.contains(s,s2)):> >print>(>'yes'>)> else>:> >print>(>'no'>)>

>

>

Producción

Yes>

Complejidad del tiempo: EN)
Espacio Auxiliar: O(1)