擅长:python、mysql、java
<p>你就快到了:</p>
<pre><code>str='/Apath1/Bpath2/Cpath3/0-1-2-3-4-5-something.otherhing'
print str[str.find("-")-1:str.rfind("-")]
</code></pre>
<p><code>rfind</code>将从末尾搜索。这假设路径中其他任何位置都不会出现破折号。如果可以,请改为:</p>
<pre><code>str='/Apath1/Bpath2/Cpath3/0-1-2-3-4-5-something.otherhing'
str = os.path.basename(str)
print str[str.find("-")-1:str.rfind("-")]
</code></pre>
<p><code>basename</code>将获取文件名,不包括路径的其余部分。那可能就是你想要的。你知道吗</p>
<p><strong>编辑:</strong></p>
<p>正如@布拉德利.艾尔斯,如果问题中没有确切描述文件名,则会出现这种情况。因为我们使用的是<code>basename</code>,所以可以省略起始索引:</p>
<pre><code>print str[:str.rfind("-")]
</code></pre>
<p>这将解析“/Apath1/Bpath2/Cpath3/10-1-2-3-4-5”-什么。其他的“如”10-1-2-3-4-5“。你知道吗</p>