> "D:\Python25\pythonw.exe" "D:\zjm_code\kml\a.py"
Traceback (most recent call last):
File "D:\zjm_code\kml\a.py", line 4, in <module>
print a.index('s')
ValueError: substring not found
7 Réponses :
print a.find('s') # -1
print a.find('1234') # 0
Essayez d'utiliser si vous voulez juste savoir si < / em> la chaîne est là, vous pouvez utiliser Rechercher () code> à la place - cela vous indiquera où il se trouve dans la chaîne: dans code>: p>
Vous pouvez utiliser l'opérateur dans code> si vous souhaitez simplement vérifier si une sous-chaîne se trouve dans une chaîne. if "s" in mystring:
print "do something"
Il y a 2 méthodes soeurs appelées En outre, comme d'autres déjà affichés, le Enfin, si vous essayez de chercher modèles em> au sein des chaînes, vous pouvez envisager des expressions régulières, bien que je pense que trop de personnes les utilisent quand elles sont excédentaires. Dans d'autres mots (célèbres), " Vous avez maintenant deux problèmes em> . " p>
C'est ça aussi loin que toutes les informations que j'ai pour l'instant. Cependant, si vous apprenez Python et / ou apprendre une programmation, un exercice très utile que je donne à mes étudiants est d'essayer de construire bonne chance! p> str.find () code> et str.index () code> sont presque identiques. La plus grande différence est que lorsqu'une chaîne n'est pas trouvée, str.index () code> jette une erreur, comme celui que vous avez obtenu, tandis que str.find () code> retour -1 Comme d'autres ont affiché. P>
str.rfind () code> et str.rindex () code> qui démarrent la recherche à partir de la fin de la chaîne et fonctionnent leur chemin vers le Commençant. P>
dans CODE> STRORT> Opérateur (ainsi que pas dans CODE> STROND>) sont parfaitement valables aussi. P>
* trouver () code> et * index () code> Dans le code Python vous-même, ou même dans code> strong> et pas dans code> strong> (bien que des fonctions). Vous aurez de bonnes pratiques traversera les chaînes, et em> vous aurez une meilleure compréhension jusqu'à la manière dont fonctionnent les méthodes de chaîne existantes. P>
Expressions régulières une overcilleuse ?! Pourquoi? Il n'y a probablement pas de manière plus efficace et claire de programmation de la plupart des algorithmes correspondants à chaîne.
Pour des recherches simples pouvant être faites avec des outils tels que TROUVER () et Index (), les expressions régulières ne sont pas aussi bons choix car ils ont tendance à être difficiles à lire sans inspection prudente. Il est rare d'être capable d'écouler devant une regexp et de prendre tous les détails de ce que cela essaie de faire. Ils peuvent être très efficaces pour des modèles complexes, mais la maintenabilité peut être un problème.
Ceci est la bonne façon de vérifier si une sous-chaîne est présente dans une chaîne ou non.
def Sea (Str, STR1): P>
if(str1[0:] in str):
return "yes"
else:
return "no"
print(sea("sahil","ah"))
Essayons cela selon ci-dessous mentionné.
Méthode 1: P>
if "substring" in "string":
print("found")
else:
print("not found")
def substr(s1, s2): # s1='abc' , s2 = 'abcd'
i = 0
cnt = 0
s = ''
while i < len(s2):
if cnt < len(s1):
if s1[cnt] == s2[i]:
cnt += 1
s += s2[i]
else:
cnt = 0
s = ''
i += 1
if s == s1:
print(f'{s1} is substring of {s2}')
else:
print(f'{s1} is not a substring of {s2}')
Quelle est la question?
Si une chaîne contenant une autre chaîne en tant que sous-chaîne. C'est la question.
C'est un duplicata d'une autre question: Stackoverflow.com/questions/3437059/...
une chaîne dans une autre chaîne? tu l'as dit. c'est python
@Anderson: D'accord, il devrait être fermé comme dupliqué.