<p>有没有一种更紧凑、更有效的方法从给定的列表中去掉任何后缀的字符串,即:</p>
<pre><code>sfxs = ['suffix1', 'sfx2', 'suffix333']
s = 'string-to-process-sfx2'
for sfx in sfxs:
i = s.find(sfx)
if not i == -1:
s = s[:i]
break
</code></pre>
<p>后缀的长度不同</p>
<pre><code>sfxs = ['suffix1', 'sfx2', 'suffix333']
s = 'string-to-process-sfx2'
for sfx in sfxs:
if s.endswith(sfx):
s = s[:-len(sfx)]
break
print(s)
</code></pre>
<p>因为字符串比较只看字符串的末尾,所以效率略高。你知道吗</p>