2016-12-01 3 views
-1

Gibt es eine Möglichkeit, ein Wort mit den Räumen um es wie so zu extrahieren:Wie extrahieren Sie das Wort "Was bedeutet [Wort]" in einer Python-Zeichenfolge?

string = 'what does blah mean?' 

Mit Vorkenntnissen von nur da zu sein „was bedeutet“ und dann das Wort und dann „bedeuten“, wie würde man bekommt das Wort?

+0

probiere '' string.split() [2] '' – jakevdp

+1

Mögliches Duplikat von [String in eine Liste in Python aufteilen] (http://stackoverflow.com/questions/743806/split-string-into-a- list-in-python) –

+0

Wie würde man das für das Extrahieren des Blahs in diesem verwenden? – Void

Antwort

1

Wie sagt https://docs.python.org/2/library/string.html#string.split:

string.split (s [, sep [, maxsplit]])

Zurück eine Liste der Wörter des string s. Wenn das optionale zweite Argument sep nicht vorhanden oder None ist, werden die Wörter durch willkürliche Zeichenfolgen mit Leerzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche, Zeilenumbrüche, Zeilenumbrüche) getrennt. Wenn das zweite Argument sep vorhanden ist und nicht None, gibt es eine Zeichenfolge an, die als Wort Trennzeichen verwendet werden soll. Die zurückgegebene Liste wird dann ein Element mehr als die Anzahl der nicht überlappenden Vorkommen des Trennzeichens in der Zeichenfolge haben. Wenn maxsplit angegeben wird, wird maximal die maxsplit-Anzahl der Aufteilungen erreicht, und der Rest der Zeichenfolge wird als letztes Element der Liste zurückgegeben (daher hat die Liste maximal maxsplit + 1 Elemente). Wenn maxsplit nicht angegeben ist oder -1, dann gibt es keine Begrenzung für die Anzahl der Splits (alle möglichen Splits werden gemacht).

Das Verhalten von Split in einer leeren Zeichenfolge hängt vom Wert von sep ab. Wenn sep nicht angegeben oder als None angegeben ist, wird als Ergebnis eine leere Liste angezeigt. Wenn sep als eine beliebige Zeichenfolge angegeben wird, wird das Ergebnis eine Liste sein, die ein Element enthält, das eine leere Zeichenfolge ist.

So würden Sie string.split()[the_word_you_want-1] verwenden.

1

Der einfache Weg ist ein regulärer Ausdruck wie zu verwenden: von jedem Spiel

import re 

test = re.compile(r"what does (.*?) mean", re.IGNORE_CASE) 

dann alle in Ihrem Eingang finden und verwenden Sie das [1] Element.

Verwandte Themen