用多个分隔符(逗号,分号,/)分割字符串?

时间:2019-02-02 15:21:53

标签: python

我有一个Python字符串:

names = "John, Paul; Sally/Frank"

我想用,分割字符串; /。我尝试过:

names.split(",") 

但不确定如何用逗号,分号和斜杠的所有分隔符来分割字符串。我也不想字符之间的任何空白出现。例如,使用分割字符串后的名称,我希望它成为看起来像这样的列表:

["John", "Paul", "Sally", "Frank"]

任何单个名称上都没有空格。

这怎么实现?

3 个答案:

答案 0 :(得分:8)

您可以使用else

re.split

答案 1 :(得分:1)

如果要使用纯python:

names = "John, Paul; Sally/Frank"
delims = [",", ";", "/"]

for x in delims[1:]:
  names = names.replace(x, delims[0])
names.split(",")

但@ blhsing的回答是好,re在STDLIB所以我不明白为什么你不会使用它。

答案 2 :(得分:1)

可以使用gencomp替换定界符,然后分裂:

names = "John, Paul; Sally/Frank"

''.join(',' if i in ';/' else i for i in names).split(',')
# ['John', ' Paul', ' Sally', 'Frank']