Questo è un po 'difficile da descrivere, ma farò del mio meglio.
In Python, posso usare string.startswith(tuple)
per testare più corrispondenze. Ma startswith
restituisce solo una risposta booleana, indipendentemente dal fatto che abbia trovato o meno una corrispondenza. È equivalente a any(string.startswith(substring) for substring in inputTuple)
. Sto cercando un modo per restituire il resto della stringa. Quindi, ad esempio:
>>> fruits = ['apple', 'orange', 'pear']
>>> words1 = 'orange, quagga, etc.'
>>> words2 = 'giraffe, apple, etc.'
>>> magicFunc(words1, fruits)
', quagga, etc.'
>>> magicFunc(words2, fruits)
False
(Sto anche bene con la funzione che restituisce la prima stringa di corrispondenza, o un elenco di stringhe corrispondenti, o qualsiasi cosa che mi consenta di determinare dove tagliare la stringa.)
In questo momento ho questo:
remainingString(bigString, searchStrings):
for sub in searchStrings:
if bigString.startswith(sub):
return bigString.partition(sub)[0]
Ick. C'è qualcosa di meglio?