2016-09-06 52 views
-2

我怎么能在任何字符之前和任何字符之前拆分字符串。 E.g:如何在任何字符前后分割字符串?

x = '846a12' 

我怎么会输出:

z = ['846','a','12'] 

在这种情况下,问题是我已经提到了我的功能特定的字符(特定字符:“A”在上面的例子)。如果输入是不同的字符(假设:'b'),我的功能失败。我该如何处理随机字符?

感谢。

+3

'“846a12'.partition(” A')'? –

+0

你的例子与“任何角色”有什么关系?这个例子应该变成'846','a','12','b','55'等'846a12b55'吗?你应该正确地显示你想要的一般情况。 –

回答

0

可以使用itertools解决这些类型的问题,那里有隔板的出现了多次的情况下,例如:

>>> import itertools as it 
>>> [''.join(x) for _, x in it.groupby('846a12', key=lambda c: c=='a')] 
['846', 'a', '12'] 
+0

真的吗?与评论中的其他两种解决方案相比,这是一个糟糕的解决方案。它的可读性要差得多,而且我愿意打赌它效率也不高。 –

+0

同意,如果只有一个分隔符出现,并且我不确定它与基于're'的解决方案相比是否可怕。 – AChampion

+0

不,链接的重复数据处理多次出现的分隔符。 –