2016-07-01 11 views
0

Neulich habe ich dieses Problem und ich denke, ich kam mit einer sehr komplizierten Lösung. Wie würdest du es lösen?Python-String-Match (ohne String-Manipulation)

Schreiben Sie eine Funktion, um zu bestimmen, ob eine Eingabezeichenfolge x eine Teilzeichenfolge einer anderen Eingabezeichenfolge y ist. Zum Beispiel ist "bat" eine Teilkette von "abate", aber nicht von "beat". Im Grunde etwas ähnlichen String.substring implementieren, ohne diese Funktion zu verwenden oder andere ähnliche Funktion (string.find, string.contains usw.)

+0

'return substring in mainstring' –

+0

Dies sieht aus wie ein Hausaufgaben-Problem. Daher solltest du deinen Versuch wahrscheinlich veröffentlichen. Und Re: "kam mit einer sehr komplizierten Lösung heraus", wenn es funktioniert, möchten Sie vielleicht versuchen, es auf codereview.stackexchange.com zu setzen, da es eine Frage zum Thema für ihr Format wäre, glaube ich. – mgilson

+1

Erwägen Sie, relevante Teile der "sehr komplizierten Lösung" mit einzubeziehen. Siehe auch: http://stackoverflow.com/help/asking – SoAwesomeMan

Antwort

0

Python macht dies sehr einfach, mit Ihrem Beispiel beiden Druckanweisungen unten ausgeführt werden:

st = "abate" 

if "bat" in st: 
    print("Yes, this is a substring of st") 
    # do something else 

if "xyz" not in st: 
    print("No, this isn't a substring of st.") 
    # do something else 
+0

'in' wird' _contains__' aufrufen, was im Wesentlichen die gleiche Art von Sache wie 'string.find' usw. ist, was in der (wahrscheinlich Hausaufgaben-) Frage verboten ist . –