Как разделить строку в python с помощью нескольких разделителей

#python #regex

#питон #регулярное выражение

Вопрос:

Я использую Python3 и хочу разделить строку на несколько подстрок. Мой код показан ниже.

 pr_list=re.split(r's{1,}', "the string, data,could have, multiple spaces".strip())  

Приведенный выше код отлично работает для одного или нескольких пробелов, которые используются в качестве разделителя. Но, кроме того, как я могу разделить ту же строку, используя другой разделитель, т. Е. ',' Также?

Например, для

строка «данные,может», показанная выше, также разделена на строку «данные» и «может».

То, что я ищу, — это просто слова, без пробелов или»,».

 ['the', 'string', 'data', 'could', 'have', 'multiple', 'spaces']  

Комментарии:

1. Измените r's{1,}' на r'[s,] ' . Однако это разделило бы такие вещи , как "hello ,,, , ,, world" «на ["hello", "world"] «. Вы не упомянули, нарушает ли это условия сделки.

2. Множественная запятая не является прерывателем сделки.

3. К делу не относится, но x{1,} это более подробный способ сказать x

4. @PaulM. это сработало. Пожалуйста, переместите решение в раздел ответов.

Ответ №1:

Может быть, вы сможете использовать это r'[ ,] '

 import re  pr_list=re.split(r'[ ,] ', "the string, data,could have, multiple spaces".strip())  
 gt;gt;gt; pr_list ['the', 'string', 'data', 'could', 'have', 'multiple', 'spaces']