擅长:python、mysql、java
<p>这样做的诀窍:</p>
<pre><code>str_ = "{Red,Plant,Eel}{Blue,Animal,Maple}{Yellow,Plant,Crab}"
res = [x.split(',')[1] for x in str_[1:-1].split('}{')]
</code></pre>
<p>并产生</p>
<pre><code>['Plant', 'Animal', 'Plant']
</code></pre>
<hr/>
<p>在<code>str_[1:-1]</code>中,我们移除初始的<code>"{"</code>和尾部的<code>"}"</code>,然后在<code>"}{"</code>的每个实例上分割剩余的实体,从而产生:</p>
<pre><code>["Red,Plant,Eel", "Blue,Animal,Maple", ...]
</code></pre>
<p>最后,对于每个字符串,我们在<code>","</code>上拆分以获得</p>
<pre><code>[["Red", "Plant", "Eel"], ...]
</code></pre>
<p>从中我们只保留每个子列表的第一个元素<code>x[1]</code></p>
<p>请注意,对于您的特定目的,使用<code>str_[1:-1]</code>对原始字符串进行切片并不是强制性的(没有它也可以工作),但是如果您只需要第一项而不需要第二项,则会有所不同。如果你想要第三个也一样</p>
<hr/>
<p>如果要将输出的字符串串联起来以匹配所需的结果,只需将结果列表传递给<code>.join</code>,如下所示:</p>
<pre><code>out = ','.join(res)
</code></pre>
<p>这就给了你</p>
<pre><code>"Plant,Animal,Plant"
</code></pre>