擅长:python、mysql、java
<p>我想出了以下解决办法:</p>
<p>您对字符串进行迭代,但不是在字符串出现时立即用下划线替换空格,而是存储遇到的空格数。然后,一旦到达非空格字符,就将找到的空格数量添加到字符串中。因此,如果字符串以大量空格结尾,它将永远不会到达非空格字符,因此永远不会添加下划线。你知道吗</p>
<p>为了在开头去掉空格,我添加了一个条件来添加下划线:“我以前遇到过非空格字符吗?”你知道吗</p>
<p>代码如下:</p>
<pre class="lang-py prettyprint-override"><code>text = " I love python e "
out = ""
string_started = False
underscores_to_add = 0
for c in text:
if c == " ":
underscores_to_add += 1
else:
if string_started:
out += "_" * underscores_to_add
underscores_to_add = 0
string_started = True
out += c
print(out) # prints "I_love___python____e"
</code></pre>