あなたはもうすぐそこにいます:
str='/Apath1/Bpath2/Cpath3/0-1-2-3-4-5-something.otherhing'
print str[str.find("-")-1:str.rfind("-")]
rfind
最後から検索します。これは、パスの他の場所にダッシュが表示されないことを前提としています。可能であれば、代わりに次のようにします。
str='/Apath1/Bpath2/Cpath3/0-1-2-3-4-5-something.otherhing'
str = os.path.basename(str)
print str[str.find("-")-1:str.rfind("-")]
basename
残りのパスを除外して、ファイル名を取得します。それはおそらくあなたが望むものです。
編集:
@bradley.ayers が指摘したように、質問にファイル名が正確に記載されていない場合、これはうまくいきません。を使用しているためbasename
、開始インデックスを省略できます。
print str[:str.rfind("-")]
これは、「/Apath1/Bpath2/Cpath3/10-1-2-3-4-5-something.otherhing」を「10-1-2-3-4-5」として解析します。