¿Tiene Python un método de subcadena de cadena 'contains'?
Estoy buscando un método string.contains
o string.indexof
en Python.
Quiero hacer:
if not somestring.contains("blah"):
continue
3601
3
Puede utilizar el operador
in
:Si sólo se trata de una búsqueda de subcadenas, puede utilizar
string.find("substring")
.Sin embargo, hay que tener un poco de cuidado con
find
,index
yin
, ya que son búsquedas de subcadenas. En otras palabras, esto:Imprimiría
Found 'is' in the string.
De forma similar,if "is" in s:
se evaluaría aTrue
. Esto puede o no ser lo que usted quiere.si aguja en pajar:
es el uso normal, como dice @Michael -- se basa en el operadorin
, más legible y rápido que una llamada a un método.Si realmente necesitas un método en lugar de un operador (por ejemplo, para hacer alguna extraña
clave=
para una clase muy peculiar...), sería'pajar'.__contiene__
. Pero como tu ejemplo es para usarlo en unif
, supongo que no quieres decir realmente lo que dices;-). No es una buena forma (ni legible, ni eficiente) usar métodos especiales directamente -- están destinados a ser usados, en cambio, a través de los operadores y builtins que delegan en ellos.