2017-07-28 1 views
0

Ich habe eine Phrase, die in zwei Hälften geschnitten werden muss (nur die erste Hälfte wird verwendet werden). Ich möchte nur die Hälfte der Linie benutzen. Hier ist mein Code,Wie man eine Phrase in Python halbiert

def license_trial_card(self): 
    card = self.driver.find_element(*Elements._License_card_text) 
    cardtext = card.text 
    split = cardtext.split(' ', 4) 
    return split 

Die Ausgabe erhalte ich ist,

['Your', 'Trial', 'is', 'valid', 'until 24/08/2017 14:06.'] 

Ich brauche nur den Teil verwenden ‚Ihr Versuch ist gültig bis‘. Der Rest des Ausdrucks wird nicht zur Überprüfung verwendet, da Datum und Uhrzeit jedes Mal anders sind.

Kann jemand helfen?

+1

so haben Sie eine Liste, und Sie wollen alle außer dem letzten Eintrag? 'split [: - 1]' –

+2

Wenn Sie das Wort 'bis' behalten müssen, ändern Sie einfach die 4 zu einem 5 –

+1

Ändert sich dieser erste Teil des Textes jemals? Wenn nicht, sollten Sie es als Klassenattribut oder als Eigenschaft definieren. Es gibt keinen Grund, diesen Text jedes Mal neu zu füllen, wenn er abgerufen wird. –

Antwort

2

verbinden Sie einfach die var ohne das letzte Element, und 4 für 5 ändern Sie die „bis“ sowie zu bekommen:

def license_trial_card(self): 
    card = self.driver.find_element(*Elements._License_card_text) 
    cardtext = card.text 
    split = cardtext.split(' ', 5) 
    joined = ' '.join(split[:-1]) 
    return joined 
+0

Danke. Das hat funktioniert. :) – Bubbles

0

Das klingt wie es eine Phrase ist, die eine Menge ohne Änderung weiterverwendet werden. Ich empfehle, den Text als Klasseneigenschaft mit einer Formatangabe am Ende einzugeben. Die Formatspezifikation könnte mit einer gespeicherten Datumszeichenfolge gefüllt werden.

Eine Möglichkeit, all das zu tun (und um sicherzustellen, dass Sie nicht versehentlich den Text überschreiben) wäre:

class Mine(): 
    _validuntil = 'Your Trial is valid until {}' 
    def __init__(self): 
     self._valid_date = get_the_cuttoff_date_text() 
    @property 
    def validuntil(self): 
     return self._validuntil.format(self.valid_date) 
    @property 
    def valid_date(self): 
     return self._valid_date 

Ihre get_the_cuttoff_date_text() Funktion Unter der Annahme, (während der Objekt Initialisierungsphase) liefert die richtige Zeichenfolge , jetzt können Sie nur tun:

print(my_object.validuntil) 
+0

Danke, Rick. Datum und Uhrzeit werden für die Validierung meines Testfalls nicht benötigt. Der Test dauert 3 Monate und wird in einem anderen Testfall abgedeckt. – Bubbles

+0

Das ist noch einfacher. Aktualisiert. –

Verwandte Themen