擅长:python、mysql、java
<p>如果位置字符串不包含格式说明符(<code>{}</code>),则可以执行以下操作:</p>
<pre><code>location = '/tmp/#/dir1/#/some_dirx/dir/var/2/#/dir3'
replacements='xyz'
print(location.replace("#", "{}").format(*replacements))
</code></pre>
<p><strong>输出</strong></p>
<pre><code>/tmp/x/dir1/y/some_dirx/dir/var/2/z/dir3
</code></pre>
<p>或者,您可以使用<a href="https://docs.python.org/3/library/re.html#re.sub" rel="nofollow noreferrer">re.sub</a>中的repl可以是一个函数这一事实:</p>
<pre><code>import re
from itertools import count
location = '/tmp/#/dir1/#/some_dirx/dir/var/2/#/dir3'
def repl(match, replacements='xyz', index=count()):
return replacements[next(index)]
print(re.sub('#', repl, location))
</code></pre>
<p><strong>输出</strong></p>
<pre><code>/tmp/x/dir1/y/some_dirx/dir/var/2/z/dir3
</code></pre>