<p>如果您只对<code>CZC</code>和<code>ARW</code>感兴趣而没有<code>.log</code>,那么可以使用<a href="https://docs.python.org/3/library/re.html?highlight=re#re.search" rel="nofollow">^{<cd4>}</a>方法:</p>
<pre><code>>>> import re
>>> s1 = 'VCALogParser_output_ARW.log'
>>> s2 = 'VCALogParser_output_CZC.log'
>>> re.search(r'.*_(.*)\.log', s1).group(1)
'ARW'
>>> re.search(r'.*_(.*)\.log', s2).group(1)
'CZC'
</code></pre>
<p>或者更好地制作模式<code>p</code>,然后在格式化字符串时调用其<code>search</code>方法:</p>
<pre><code>>>> p = re.compile(r'.*_(.*)\.log')
>>>
>>> '\n{}, {}\n'.format(p.search(s1).group(1), p.search(s2).group(1))
'\nARW, CZC\n'
</code></pre>
<p>另外,使用<a href="https://docs.python.org/3/library/re.html?highlight=re#re.sub" rel="nofollow">^{<cd7>}</a>以及积极的前瞻性和组命名可能会有所帮助:</p>
<pre><code>>>> p = re.compile(r'.*(?<=_)(?P<mystr>[a-zA-Z0-9]+)\.log$')
>>>
>>>
>>> p.sub('\g<mystr>', s1)
'ARW'
>>> p.sub('\g<mystr>', s2)
'CZC'
>>>
>>>
>>> '\n{}, {}\n'.format(p.sub('\g<mystr>', s1), p.sub('\g<mystr>', s2))
'\nARW, CZC\n'
</code></pre>
<p>如果您不能或不想使用<code>re</code>模块,则可以定义不需要的字符串长度,并用它们索引字符串变量:</p>
<pre><code>>>> i1 = len('VCALogParser_output_')
>>> i2 = len ('.log')
>>>
>>> '\n{}, {}\n'.format(s1[i1:-i2], s2[i1:-i2])
'\nARW, CZC\n'
</code></pre>
<p>但请记住,只要您的所有字符串变量中都有这些公共字符串,上述内容就有效。你知道吗</p>