регулярное выражение Python разделить первый символ - PullRequest
2 голосов
/ 07 марта 2012

например. У меня есть Имя: Джон Фрэнк Смит

То, что я хочу, это разделить первым пробелом

, поэтому массив будет [0] = Джон [1] = Фрэнк Смит

что я пытался, я заменил пробел на ~ и попытался разделить на регулярное выражение.

import re
s="John~Frank~Smith"
l=re.compile(r'/~(.+)?/').split(s)

вывод:

 ['John~Frank~Smith']

Как мне достичь, как описано выше?

сначала я не знаю, как поместить пробел в регулярное выражение.

Ответы [ 3 ]

10 голосов
/ 07 марта 2012

Используйте str.split() с параметром maxsplit:

>>> s = "John Frank Smith"
>>> s.split(None, 1)
['John', 'Frank Smith']

Примечание: Это будет разделено на несколько вхождений пробела, поэтому строка будет выглядеть как

John    Frank Smith

даст тот же результат. Если вам нужен только один пробел в качестве разделителя, используйте s.split(' ', 1).

2 голосов
/ 07 марта 2012

Если вы хотите использовать регулярное выражение:

>>> re.split(r'~', "John~Frank~Smith",1)
['John', 'Frank~Smith']

~ из вашего примера.

0 голосов
/ 07 марта 2012

нет необходимости в регулярных выражениях, используйте split ():

s="John~Frank~Smith"
s.split('~',1)

['John', 'Frank~Smith']

...