it-swarm.com.de

Wie extrahiere ich das erste und das letzte Wort aus einem String?

Ich habe ein kleines Problem mit etwas, das ich in der Schule tun muss ...

Meine Aufgabe ist das Abrufen einer rohen Eingabezeichenfolge von einem Benutzer (text = raw_input()) Und ich muss die ersten und letzten Wörter dieser Zeichenfolge drucken.

Kann mir da jemand weiterhelfen? Ich habe den ganzen Tag nach einer Antwort gesucht ...

15
Lior Dahan

Sie müssen zuerst die Zeichenfolge mit str.split in list von Wörtern konvertieren. Anschließend können Sie wie folgt darauf zugreifen:

>>> my_str = "Hello SO user, How are you"
>>> Word_list = my_str.split()  # list of words

# first Word  v              v last Word
>>> Word_list[0], Word_list[-1]
('Hello', 'you')

In Python 3.x können Sie einfach Folgendes tun:

>>> first, *middle, last = my_str.split()
24

Wenn Sie Python 3 verwenden, können Sie Folgendes tun:

text = input()
first, *middle, last = text.split()
print(first, last)

Alle Wörter außer dem ersten und letzten werden in die Variable middle übernommen.

9

Angenommen, x ist Ihre Eingabe. Dann können Sie tun:

 x.partition(' ')[0]
 x.partition(' ')[-1]
6
toom

Man könnte sagen, es gibt nie zu viele Antworten mit regulären Ausdrücken (in diesem Fall sieht das nach den schlechtesten Lösungen aus).

>>> import re
>>> string = "Hello SO user, How are you"
>>> matches = re.findall(r'^\w+|\w+$', string)
>>> print(matches)
['Hello', 'you']
2
quapka

Du würdest:

print text.split()[0], text.split()[-1]
1
Mike

Übergeben Sie einfach Ihren String in folgende Funktion

def first_and_final(str):
    res = str.split(' ')
    fir = res[0]
    fin = res[len(res)-1]
    return([fir, fin])

Verwendungszweck

first_and_final('This is a sentence with a first and final Word.')

Ergebnis

['This', 'Word.']
0
Cybernetic