2017-11-08 3 views
1

私はこのように与えられた文字の文字列に2つのサブストリングのインデックスを検索したいのインデックスを検索します。私は、インデックスメソッドを使用する場合はの重複文字を持つ2つのサブストリング

find_start = '1L' 
find_end = 'L' 
>>> blah = 'A1LELST5W' 
>>> blah.index('1L') 
1 
>>> blah.index('L') 
2 # i want it to give me 4 

を、それは私に「L」を与えますそれは文字列の3番目の文字です。しかし、 "1L"と "L"を別々の文字列として扱い、代わりに5番目の文字を与えたいと思います。

これを行う簡単な方法はありますか?または、新しい文字列にfind_start以外のものをすべて格納してから、インデックスを作成する必要がありますか? (しかし、それは文字列内のすべての位置を混乱させるだろう)。

+0

なぜ '1L'は本当の' L'ではなく、 'EL'ですか? –

+0

'blah'は値を持つ文字列で、' 1L'はサイズ2の文字列です。文字列 'blah'に文字' L'のインデックスを見つけたいので、 'index'は最初のインデックス番号を返します発生。したがって、 'index'は、インデックス2に' L'を遭遇したので、位置2を与えます – Ajay2588

答えて

1

str.index方法は、検索を制限することができ開始終了引数があります。だから、最初のものが終わるところで2番目の検索を始めるだけでいいです:

>>> find_start = '1L' 
>>> find_end = 'L' 
>>> blah = 'A1LELST5W' 
>>> first = blah.index('1L') 
>>> first 
1 
>>> blah.index('L', first + len(find_start)) 
4 
関連する問題