Respuestas:
con in: substring in string:
>>> substring = "please help me out"
>>> string = "please help me out so that I could solve this"
>>> substring in string
True
string.indexOf(substring) != -1, más aquí
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
# do something
(Por cierto, intente no nombrar una variable string, ya que hay una biblioteca estándar de Python con el mismo nombre. Puede confundir a la gente si hace eso en un proyecto grande, por lo que evitar colisiones como esa es un buen hábito).
Si está buscando algo más que Verdadero / Falso, sería mejor utilizar el módulo re, como:
import re
search="please help me out"
fullstring="please help me out so that I could solve this"
s = re.search(search,fullstring)
print(s.group())
s.group() devolverá la cadena "por favor, ayúdame".
Pensé que agregaría esto en caso de que esté buscando cómo hacer esto para una entrevista técnica en la que no quieren que use la función incorporada de Python ino find, lo cual es horrible, pero sucede:
string = "Samantha"
word = "man"
def find_sub_string(word, string):
len_word = len(word) #returns 3
for i in range(len(string)-1):
if string[i: i + len_word] == word:
return True
else:
return False
if len(substring) > len(string) return Falsetambién que el rango del bucle debería ser mejor range(len(string)-len(substring))porque no encontrará una palabra de tres letras en las dos últimas letras de la cadena. (Guarda algunas iteraciones).
Las personas mencionaron string.find(), string.index()y string.indexOf()en los comentarios, y los resumo aquí (de acuerdo con la documentación de Python ):
En primer lugar, no existe un string.indexOf()método. El enlace publicado por Deviljho muestra que esta es una función de JavaScript.
En segundo lugar, string.find()y en string.index()realidad devuelve el índice de una subcadena. La única diferencia es cómo manejan la situación de subcadena no encontrada: string.find()devuelve -1mientras string.index()genera un ValueError.
También puede probar el método find (). Determina si la cadena str ocurre en una cadena o en una subcadena de cadena.
str1 = "please help me out so that I could solve this"
str2 = "please help me out"
if (str1.find(str2)>=0):
print("True")
else:
print ("False")
In [7]: substring = "please help me out"
In [8]: string = "please help me out so that I could solve this"
In [9]: substring in string
Out[9]: True
También puede utilizar este método
if substring in string:
print(string + '\n Yes located at:'.format(string.find(substring)))