Je suis à la recherche d'un string.contains
ou string.indexof
méthode en Python.
Je veux faire:
if not somestring.contains("blah"):
continue
Je suis à la recherche d'un string.contains
ou string.indexof
méthode en Python.
Je veux faire:
if not somestring.contains("blah"):
continue
Si c'est juste une sous-chaîne de recherche, vous pouvez utiliser string.find("substring")
Vous devez être un peu prudent avec find
, index
, et in
même si, comme ils le sont sous-chaîne de recherche. En d'autres termes, ceci:
s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
Imprimez Found 'is' in the string.
de Même, if "is" in s:
permettrait d'évaluer à l' True
. Cela peut ou peut ne pas être ce que vous voulez.
if needle in haystack:
est d'une utilisation normale, comme @Michael, dit -- elle s'appuie sur l' in
de l'opérateur, plus lisible et plus rapide qu'un appel de méthode.
Si vous avez vraiment besoin d'une méthode au lieu d'un opérateur (par exemple, pour faire un peu bizarres key=
pour les très particulière de tri...?), que serait 'haystack'.__contains__
. Mais depuis votre exemple est pour une utilisation dans un if
, je suppose que vous n'avez pas vraiment signifie que vous dire;-). Ce n'est pas la bonne forme (ni lisible, ni efficace) à utiliser des moyens spéciaux directement, ils sont destinés à être utilisés, au lieu de cela, par l'intermédiaire des opérateurs et des fonctions internes telles que délégué pour.
Non il n'y a pas d' string.contains(str)
méthode
mais n'est - in
opérateur:
if substring in someString:
print "It's there!!!"
Ici, c'est plus de travail complexes exemple:
# print all files with dot in home directory
import commands
(st, output) = commands.getstatusoutput('ls -a ~')
print [f for f in output.split('\n') if '.' in f ]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.