113 votes

Comment déterminer si une sous-chaîne est dans une chaîne différente

J'ai une sous-chaîne :

 substring = "please help me out"

J'ai une autre chaîne :

 string = "please help me out so that I could solve this"

Comment savoir si substring est un sous-ensemble de string utilisant Python ?

171voto

MarcoS Points 7305

avec in : substring in string :

 >>> substring = "please help me out"
>>> string = "please help me out so that I could solve this"
>>> substring in string
True

21voto

Amber Points 159296
foo = "blahblahblah"
bar = "somethingblahblahblahmeep"
if foo in bar:
    # do something

(Au fait, essayez de ne pas nommer une variable string , car il existe une bibliothèque standard Python du même nom. Vous pourriez confondre les gens si vous faites cela dans un grand projet, donc éviter de telles collisions est un bonne habitude à prendre.)

13voto

ewegesin Points 91

Si vous cherchez plus qu'un vrai/faux, vous seriez mieux adapté pour utiliser le module re, comme :

 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() renverra la chaîne "s'il vous plaît aidez-moi".

9voto

QueenJolene Points 144

J'ai pensé que j'ajouterais ceci au cas où vous chercheriez à faire cela pour un entretien technique où ils ne veulent pas que vous utilisiez la fonction intégrée de Python in ou find , qui est horrible, mais arrive:

 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

Prograide.com

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.

Powered by:

X