2017-08-30 5 views
-1

hier ist die String-Variablewie zufällige Wörter nach einem Satz in zufälliger Index

question = "i need to know about something..." 

zu nehmen, wie bekomme ich die Worte nach: „Ich brauche darüber wissen“, wenn manchmal die Frage Variable ändert etwas wie dieses werden :

question = " i need to know about something..." 

oder

question = "hmmm.... i need to know about something" 

ich meine, egal wo Index ist, aber ich muss wissen, was die ra NDOM Wort kommen nach diesem Satz -> „Ich muss darüber wissen“, in diesem Fall wird das Ergebnis sein „etwas ...“

Antwort

0

Sie können dies versuchen:

question = "hmmm.... i need to know about something" 

new_data = question[question.index("i need to know about")+len("i need to know about"):] 

Ausgang:

something 

Mit regex:

import re 

data = re.findall("(?<=i need to know about)\s[a-zA-Z\s]+", question) 

print(data) 

Ausgang:

[' something'] 
0

Wenn es ein String ist, dann können Sie nur den Index der Zeichenfolge erhalten Sie suchen und alles danach bekommen, etwa so:

start = question.index('i need to know about') 
finish = start + len('i need to know about') 
print(question[finish:]) # something... 
0

könnten Sie reguläre Ausdrücke verwenden.

import re 
s = "hmmm.... i need to know about something" 
regexp = re.compile("i need to know about(.*)$") 
print(regexp.search(s).group(1)) 

Ausgänge:

something 

Wenn Sie die Ausgabe reinigen möchten, können Sie immer .strip()

print(regexp.search(s).group(1).strip()) 

Ausgänge:

something 
0

Sie regex verwenden können, um extrahieren der Inhalt nach "Ich brauche t o wissen über ".

1

Eine schnelle und schmutzige Lösung wäre str.strip() zu verwenden. Es ist schnell und schmutzig, weil es ist Groß- und Kleinschreibung und funktioniert nur, wenn die genaue Zeichenfolge vorhanden ist

In [22]: "i need to know about something...".split("i need to know about") 
Out[22]: ['', ' something...'] 

In [23]: "hmmm.... i need to know about something".split("i need to know about") 
Out[23]: ['hmmm.... ', ' something'] 

In [24]: "hmmm.... i need to know about something".split("i need to know about") 
Out[24]: ['hmmm.... ', ' something'] 

In [25]: "hmmm.... i need to know about something".split("i need to know about") 
Out[25]: ['hmmm.... i need to know about something'] 

Der letzte Fall wird nicht funktionieren, da die Saiten nicht genau übereinstimmen (beachten Sie die 2 Räume zwischen know und about.

Ein regulärer Ausdruck, wie einige der anderen Antworten vorschlagen, wird viel umfassender sein

Verwandte Themen