Come posso supportare i caratteri jolly nelle stringhe di ricerca definite dall'utente in Python?

StackOverflow https://stackoverflow.com/questions/238600

Domanda

Esiste un modo semplice per supportare i caratteri jolly (" * ") durante la ricerca di stringhe, senza utilizzare RegEx?

Gli utenti dovrebbero inserire i termini di ricerca usando i caratteri jolly, ma non dovrebbero avere a che fare con la complessità di RegEx:

"foo*"   =>  str.startswith("foo")
"*foo"   =>  str.endswith("foo")
"*foo*"  =>  "foo" in str

(diventa più complicato quando ci sono più termini di ricerca, ad es. " foo bar baz ")

Sembra un problema comune, quindi mi chiedo se esiste una soluzione pronta per questo.

Qualsiasi aiuto sarebbe molto apprezzato!

È stato utile?

Soluzione

Potresti provare fnmatch , ha una sintassi jolly simile a una shell.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top