擅长:python、mysql、java
<pre><code>from string import split
def rec_split(s, *tokens):
if tokens == ():
return s
else:
return map(lambda x: rec_split(x, *tokens[1:]), split(s, tokens[0]))
</code></pre>
<p>对我来说这给了:</p>
<pre><code>In [669]: s = (
'abcde,abcde|abcde!abcde,abcde|abcde!'
'abcde,abcde|abcde!abcde,abcde|abcde!'
'abcde,abcde|abcde!abcde,abcde|abcde!'
'abcde,abcde|abcde!abcde,abcde|abcde!'
)
In [670]: rec_split(s, ",", "|", "!", "b")
Out[670]:
[[[['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['']]]]
</code></pre>