'Hallo, SO-Community.Der beste Weg, um Copy-Paste und Hardcoding zu vermeiden
Problem: Ich habe viele REGEX Muster, wie
r'to.*school', r'built.*in'
und etc. In jedem Fall habe ich einen Code ausführen sollte, dass von Situation zu Situation unterschiedlich.
Beispiel: Wenn Muster ‚zu * Schule.‘ Ich mag das Verb finden, bevor ‚zu‘ und das ist, warum ich etwas schreiben wie:.
for num, part in enumerate(sentence):
if part == 'to':
result = sentence[num-1]
Wenn Muster ‚gebaut * in', mag ich die Zeit zu finden, und deshalb schreibe ich so etwas wie:
for num, part in enumerate(sentence):
if part == 'in':
result = sentence[num+1]
Also das Problem gibt es - wie kann ich copy-Einfügen von Code, wenn es mehr als 500 Muster und jedes Muster hat seine eigene Art und Weise vermeiden um ein Ergebnis zu erhalten?
Meine Gedanken: Ich verstehe, es sollte eine Art von Datenbank sein, die Muster und Lösungen speichert, aber wie führe ich Lösung, wenn es eine Zeichenfolge ist? Ich bin total verloren.
Können Sie ein Beispiel für "Satz" und Ihre gewünschte Ausgabe zeigen? –
Ich würde eine Tabelle einführen, die in der ersten Spalte die Muster und in der zweiten eine Referenz auf eine geeignete Methode enthält. – Humbalan
@Chris_Rands natürlich. 'origSentence = 'Ich gehe zur Schule'; Muster = r'to. * Schule '; partSentence = ['ich', 'gehe', 'zu', 'Schule']; result = 'go'; ' –