Cet article explique comment vérifier si un Python string contient une autre chaîne ou une sous-chaîne en Python. Étant donné deux chaînes, vérifiez si une sous-chaîne se trouve dans la chaîne donnée.
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.>
Sous-chaîne Python dans une chaîne
La vérification d'une sous-chaîne est l'une des tâches les plus utilisées en Python. Python utilise de nombreuses méthodes pour vérifier une chaîne contenant une sous-chaîne comme find(), index(), count(), etc. La méthode la plus efficace et la plus rapide consiste à utiliser un dans opérateur qui est utilisé comme opérateur de comparaison. Nous aborderons ici différentes approches :
- Utiliser le If-Else
- Utilisation dans l'opérateur
- Vérification à l'aide Méthode split()
- En utilisant méthode find()
- En utilisant méthode count()
- En utilisant Méthode index()
- Utiliser la compréhension de liste
- Utilisation de la fonction lambda
- Utilisation de la classe magique __contains__.
- Utilisation de la fonction de découpage
- En utilisant expressions régulières
- en utilisant la méthode opérateur contient()
Vérifier Sous-chaîne Python dans une chaîne en utilisant le If-Else
En Python, vous pouvez vérifier que la sous-chaîne python de la chaîne est présente à l'aide d'un sinon déclaration. L'instruction if-else vous permet d'exécuter conditionnellement différents blocs de code selon que la condition est vraie ou fausse.
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'>)> |
>
>
Sortir
Yes! it is present in the string>
Complexité temporelle : Sur)
Espace Auxiliaire : O(1)
Vérification de la sous-chaîne Python dans la chaîne à l'aide Dans l'opérateur
En Python, vous pouvez facilement vérifier si une sous-chaîne est présente dans une chaîne donnée en utilisant lein>opérateur. Lein>L’opérateur est utilisé pour tester si une valeur particulière (sous-chaîne) existe dans une séquence.
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!'>)> |
>
conversion de type et conversion en Java
>
Sortir
Substring found! Substring not found!>
Complexité temporelle : Sur)
Espace Auxiliaire : O(1)
Vérification de la sous-chaîne Python dans la chaîne à l'aide de la méthode Split()
La vérification de la sous-chaîne python dans la chaîne est présente ou n'est pas utilisée diviser(). Divisez d’abord la chaîne donnée en mots et stockez-les dans une variable s, puis en utilisant la condition if, vérifiez si une sous-chaîne est présente ou non dans la chaîne donnée.
Python3
# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->prendre l'entrée de l'utilisateur> 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'>)> |
>
>
Sortir
Yes>
Complexité temporelle : O(n+m)
Espace Auxiliaire : Sur)
Vérifiez la sous-chaîne Python dans la chaîne à l'aide de la méthode Find()
Nous pouvons vérifier chaque mot de manière itérative, mais Python nous fournit une fonction intégrée trouver() qui vérifie si une sous-chaîne est présente dans la chaîne, ce qui se fait sur une seule ligne. La fonction find() renvoie -1 si elle n'est pas trouvée, sinon elle renvoie la première occurrence, donc en utilisant cette fonction, ce problème peut être résolu.
Python3
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)> |
>
>
Sortir
Yes>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne à l'aide de la méthode Count()
Vous pouvez également compter le nombre d'occurrences d'une sous-chaîne spécifique dans une chaîne, puis vous pouvez utiliser le Python compter() méthode. Si la sous-chaîne n'est pas trouvée, alors oui sera imprimé, sinon non sera imprimé.
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)> |
>
>
différence entre $ et $$
Sortir
No>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne à l'aide de la méthode Index()
Le Méthode Index() renvoie l'index de départ de la sous-chaîne passée en paramètre. Ici sous-chaîne est présent à l’index 16.
Python3
any_string>=> 'Geeks for Geeks substring '> start>=> 0> end>=> 1000> print>(any_string.index(>'substring'>, start, end))> |
>
>
Sortir
16>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne u chanter Compréhension de la liste
Pour vérifier la sous-chaîne Python dans la chaîne en utilisant compréhension de liste . L'utilisation de la compréhension de liste fournit un moyen concis de rechercher une sous-chaîne dans une chaîne et de déterminer si elle existe dans l'un des mots.
Python3
s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])> |
>
>
Sortir
['Yes']>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne en utilisant la fonction Lambda
Pour vérifier la sous-chaîne Python dans la chaîne en utilisant fonction lambda . L'utilisation d'une fonction lambda fournit un moyen concis de rechercher une sous-chaîne dans une chaîne et de déterminer si elle existe dans l'un des mots.
Python3
javascript
s>=>'geeks for geeks'> s2>=>'geeks'> x>=>list>(>filter>(>lambda> x: (s2>in> s),s.split()))> print>([>'yes'> if> x>else> 'no'>])> |
>
>
Sortir
['Yes']>
Complexité temporelle : O(n+m)
Espace Auxiliaire : O(m)
Vérifiez la sous-chaîne Python dans String à l'aide de la classe magique __contains__.
Pour vérifier la sous-chaîne python dans la chaîne, nous utilisons __contains__(). Cette méthode est utilisée pour vérifier si la chaîne est présente ou non dans l’autre chaîne.
Python3
a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)> |
>
>
Sortir
Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne en utilisant le découpage
Vérifiez la sous-chaîne python dans la chaîne en utilisant le découpage. Cette implémentation utilise une boucle pour parcourir chaque index de départ possible de la sous-chaîne dans la chaîne, puis utilise trancher pour comparer la sous-chaîne actuelle à l'argument de la sous-chaîne. Si la sous-chaîne actuelle correspond à l'argument de sous-chaîne, alors la fonction renvoie True, sinon renvoie False.
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))> |
>
>
ils sont chanteurs
Sortir
True>
Complexité temporelle : O(n*m)
où n est la longueur de l'argument de chaîne et m est la longueur de l'argument de sous-chaîne. En effet, la fonction utilise une boucle pour parcourir tous les index de départ possibles de la sous-chaîne dans la chaîne, puis utilise le découpage pour comparer la sous-chaîne actuelle à l'argument de la sous-chaîne. Dans le pire des cas, la boucle itérera n-m+1 fois, et chaque opération de tranche prend un temps O(m), ce qui donne une complexité temporelle totale de O((n-m+1)m) = O(nm) .
Espace Auxiliaire : O(1)
Vérifiez la sous-chaîne Python dans la chaîne à l'aide d'une expression régulière
En Python, vous pouvez vérifier que la sous-chaîne python de la chaîne est présente en utilisant expressions régulières . Les expressions régulières offrent de puissantes capacités de correspondance de modèles, vous permettant de définir des modèles de recherche complexes pour la correspondance de sous-chaînes. Voici comment utiliser des expressions régulières pour rechercher une sous-chaîne dans une chaîne.
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'>)> |
>
>
Sortir
Yes! it is present in the string>
Complexité temporelle : O(n), où n est la longueur de la chaîne d'entrée.
Complexité spatiale : O(1), car nous n'utilisons aucun espace supplémentaire
Vérifiez la sous-chaîne Python dans la chaîne en utilisant la méthode Operator.contains()
Cette approche utiliséeopérateur.contient()méthode pour vérifier si la sous-chaîne est présente dans la chaîne Si la condition est True, imprimer oui sinon imprimer non
Python3
#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'>)> |
>
>
Sortir
Yes>
Complexité temporelle : SUR)
Espace Auxiliaire : O(1)