2016-08-28 6 views
3

Ich habe eine Funktion, die eine Zahl und eine Zeichenfolge als Eingabe nimmt. Es sollte eine Liste aller Wörter in dieser Zeichenfolge der Länge und größer zurückgeben. Python erkennt jedoch meine Variable nicht und gibt eine leere Liste zurück.Reguläre Ausdrücke re.findall()

Wie übergebe ich die Variable 'count', so dass die Funktion Wörter der Zählung und länger zurückgibt?

Antwort

2

Sie können str.format verwenden, um Ihr Ziel zu erreichen.

def word_number(count, string): 
    return re.findall(r'\w{{{0},}}'.format(count), string) 
+0

Notwendigkeit, die äußersten Klammern verdoppeln, damit dies funktioniert: 'r '\ w {{{0}}}'' –

+0

Oh Dank , Du hast Recht. –

5

können Sie printf Stil Formatierung:

re.findall(r'\w{%s,}' % count, string) 
+0

Vielen Dank, das hat mich umgebracht! – fortune