3

Python に空白ができるまで、文字列の最後の文字を選択する効率的な方法はありますか?

たとえば、次の文字列があります。

str = 'Hello my name is John'

「ジョン」を返したい。しかし、str が次の場合:

str = 'Hello my name is Sally'

「サリー」を再放送したい

4

3 に答える 3

24

文字列を空白で分割し、配列の最後の要素を取得します。またはrsplit()、末尾から分割を開始するために使用します。

>>> st = 'Hello my name is John'
>>> st.rsplit(' ', 1)
['Hello my name is', 'John']
>>> 
>>> st.rsplit(' ', 1)[1]
'John'

2 番目の引数は、実行する回数を指定splitします。最後の要素が必要なだけなので、分割する必要があるのは 1 回だけです。

Noneコメントで指定されているように、最初の引数として渡すことができます。その場合、空白であるデフォルトの区切り文字が使用されます。

>>> st.rsplit(None, 1)[-1]
'John'

-1文字列に空白がない場合は、インデックスとして使用しても安全です。

于 2013-10-10T18:30:07.210 に答える
3

効率的とは何を意味するかによって異なりますが、私が考えることができる最も簡単な(プログラマーの時間を効率的に使用する)方法は次のとおりです。

str.split()[-1]

これは空の文字列では失敗するため、確認する必要があります。

于 2013-10-10T18:35:06.487 に答える