回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>输入:</p>
<pre><code>x = "121, 1238,\nxyz,\n 123abc \n\rabc123"
</code></pre>
<p>我想用分隔符<code>",", "\n", "\r", "\s"</code>分割这个字符串以获得输出</p>
<pre><code>['121', '1238', 'xyz', '123abc', 'abc123']
</code></pre>
<p>无论我尝试什么,分隔符都被接受为单个字符,而不是字符的组合。
e、 g</p>
<p>一,</p>
<pre><code>re.split("\n|,|\s|\r", x)
</code></pre>
<p>输出</p>
<pre><code>['121', '', '1238', '', 'xyz', '', '', '123abc', '', '', 'abc123']
</code></pre>
<ol start=“2”>
<li><br/>
<p><code>re.split("\n\s|,|\s|\r", x)</code></p>
</li>
</ol>
<p>输出</p>
<pre><code>['121', '', '1238', '', 'xyz', '', '123abc', '', 'abc123']
</code></pre>
<p>第二个比第一个稍有改进。但如果这是必需的,我需要手动给出所有可能的组合。
<br/>类似(具有更多组合):</p>
<pre><code>re.split("\n\s|\s\n|\s\n\s|\n|,\s|\s,|\s,\s|,|\s|\r", x)
</code></pre>
<p>输出:</p>
<pre><code>['121', '1238', 'xyz', '', '123abc', '', 'abc123']
</code></pre>
<p>有没有更好的办法</p>