2017-07-28 3 views
0

フレーズは半分にカットする必要があります(最初の半分のみが使用されます)。私はラインの半分だけを使いたいと思う。ここに私のコードは、私は一部だけを使用する必要があり、私は取得しています出力は、Pythonでフレーズを半分にカットする方法

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

で、

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

である「あなたのトライアルまで有効です」。フレーズの残りの部分は、日付/時刻が毎回異なるため、検証には使用されません。

誰でも手助けできますか?

+1

だから、あなたはリストを持っていて、最後のエントリ以外のすべてをしたいのですか? 'split [: - 1]' –

+2

'until'という言葉を残す必要がある場合は、4を5に変更してください。 –

+1

テキストの最初の部分はこれまでに変更されていますか?そうでない場合は、それをクラス属性またはプロパティにすることを検討してください。フェッチするたびにそのテキストを再作成する必要はありません。 –

答えて

2

はちょうど最後の要素なしVARに参加し、取得するために5 4を変更するだけでなく、「まで」:それは変更せずに多くのことを再利用されますフレーズだよう

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

ありがとう。それはうまくいった。 :) – Bubbles

0

これが聞こえます。私は、テキストを最後にフォーマット指定付きのクラスプロパティとして入力することをお勧めします。書式指定には、格納された日付文字列を取り込むことができます。そのすべてを行うには(とあなたが誤ってテキストを上書きしないことを確認する)

一つの方法は、次のようになります。

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 

は、(オブジェクトの初期化フェーズ中に)あなたのget_the_cuttoff_date_text()機能を仮定すると、正しい文字列を提供します

print(my_object.validuntil) 
+0

ありがとう、リック。テストケースの検証に日付と時刻は必要ありません。試用期間は3ヶ月で、別のテストケースでカバーされています。 – Bubbles

+0

それはさらに簡単です。更新しました。 –

関連する問題