擅长:python、mysql、java
<p>正如您在问题中所说,jsut使用string<code>split</code>方法:</p>
<p><code>phrases = str.split(" + ")</code></p>
<p>它输出根据作为拆分标记传递的参数划分的子字符串列表。如果未传递任何参数或“None”,它将在空格(空格、制表符或换行符)上拆分字符串</p>
<p>字符串的逆方法<code>join</code>可用于以后从此类列表中重新组合字符串:</p>
<p><code>my_str = " + ".join(phrases)</code></p>
<p>作为旁注,避免命名变量<code>str</code>,因为它是Python中字符串类的名称,并且会被隐藏</p>
<p>对于每个子字符串的进一步处理,您可以使用For循环,并在每个标记中重新应用拆分,删除您不感兴趣的标记。如果这些都是数字和<code><=></code>标记,那么这将起作用:</p>
<pre><code>raw_phrases = str.split(" + ")
phrases = []
for phrase in raw_phrases:
filtered = []
for token in phrase.split():
if not token.isdigit and token not in ("<=>",) : # extend the predicate to whatever other tokens you want to filter
filtered.append(token)
phrases.append(" ".join(filtered))
</code></pre>
<p>上面的拆分、过滤和重新连接循环可以使用列表理解在一行代码中表示:</p>
<pre><code>phrases = [" ".join(token for token in phrase.split(" ") if not token.isdigit() and token not in ("<=>",) ) for phrase in str.split(" + ")]
</code></pre>
<pre><code/></pre>