Hoe te controleren of een string substring bevat in Python
-
in
Operator om te controleren of een string een substring bevat -
str.find()
methode om te controleren of een string substring bevat -
str.index()
Methode - Substring controle-oplossing Conclusie

Het is vrij vaak dat we moeten controleren of de gegeven string een specifieke substring bevat. We zullen hier enkele methoden vermelden en vervolgens de looptijdprestaties vergelijken om de meest efficiënte methode te selecteren.
We nemen de string - It is a given string
als de gegeven string en given
is de substring die moet worden gecontroleerd.
in
Operator om te controleren of een string een substring bevat
in
operator is de operator voor lidmaatschapscontrole. x in y
wordt geëvalueerd True
als x
is een lid van y
, of met andere woorden, y
bevat x
.
Het keert terug True
als de string y
de substring bevat x
.
>>> "given" in "It is a given string"
True
>>> "gaven" in "It is a given string"
False
in
Operatorprestaties
import timeit
def in_method(given, sub):
return sub in given
print(min(timeit.repeat(lambda: in_method('It is a given string', 'given')))
0.2888628
str.find()
methode om te controleren of een string substring bevat
find
is een ingebouwde methode van string
- str.find(sub)
.
Het retourneert de laagste index str
waarin substring sub
is gevonden, anders wordt geretourneerd -1
als sub
niet wordt gevonden.
>>> givenStr = 'It is a given string'
>>> givenStr.find('given')
8
>>> givenStr.find('gaven')
-1
str.find()
Methode prestaties
import timeit
def find_method(given, sub):
return given.find(sub)
print(min(timeit.repeat(lambda: find_method('It is a given string', 'given'))))
0.42845349999999993
str.index()
Methode
str.index(sub)
is een string
ingebouwde methode die de laagste index retourneert str
waarin sub
is gevonden. Het wordt verhoogd ValueError
wanneer de substring sub
niet wordt gevonden.
>>> givenStr = 'It is a given string'
>>> givenStr.index('given')
8
>>> givenStr.index('gaven')
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
givenStr.index('gaven')
ValueError: substring not found
str.index()
Methode prestaties
import timeit
def find_method(given, sub):
return given.find(sub)
print(min(timeit.repeat(lambda: find_method('It is a given string', 'given'))))
0.457951
Substring controle-oplossing Conclusie
in
operator is degene die u moet gebruiken om te controleren of er een substring bestaat in de gegeven string omdat deze de snelste isstr.find()
enstr.index()
kan ook worden gebruikt, maar niet optimaal vanwege de slechte prestaties
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedInGerelateerde Artikelen - Python String
- Hoe controleer je of een string leeg is op een pythonische manier
- Hoe witruimte in een string te verwijderen
- Hoe tekenreeks naar datetime te converteren
- Hoe tekenreeks naar kleine letters te converteren in Python 2 en 3
- Een lijst converteren naar tekenreeks in Python