парсинг строки текста ascii в отдельные переменные - PullRequest
1 голос
/ 12 мая 2010

У меня есть кусок текста, который мне вручают как:

здесь первая строка \ n \ n там вторая строка \ n \ n здесь третья строка

Я хотел бы разбить эту строку на три отдельные переменные. Я не совсем уверен, как можно это сделать в Python.

Спасибо за любую помощь, JML

Ответы [ 4 ]

4 голосов
/ 12 мая 2010
a, b, c = s.split('\n\n')
1 голос
/ 12 мая 2010

Вы можете использовать функцию разделения:

s = 'ab\n\ncd'
tokens = s.split('\n\n')

Тогда tokens это массив ['ab', 'cd']

РЕДАКТИРОВАТЬ: я предположил, что вы имели в виду, что вы хотите, чтобы ваш пример был разделен на 3 строки, но в целом разделить строку> 3 строки, если необходимо

1 голос
/ 12 мая 2010
s1, s2, s3 = that_string_variable.split('\n\n')

По сути, в какую бы переменную вы не поместили эту строку, вы затем .split() на токене, который хотите использовать в качестве разделителя (в данном случае '\n\n'), и это вернет список строк. Вы можете назначить с помощью «распаковки», где вы указываете несколько переменных для каждого из элементов, чтобы перейти к. Задание, подобное приведенному выше, гласит: «Я знаю, что правая сторона даст мне три элемента, и я хочу, чтобы они вошли в s1, s2 и s3 в этом порядке.

0 голосов
/ 12 мая 2010

Чтобы разбить его на список из 3 элементов:

mystring = "here is line one\n\nhere is line two\n\nhere is line three"
listofthings = mystring.split("\n\n")

Затем вы можете получить к ним доступ с помощью listofthings[0], listofthings[1] и listofthings[2].

Чтобы поместить их в отдельные фактические переменные:

mystring = "here is line one\n\nhere is line two\n\nhere is line three"
a,b,c = mystring.split("\n\n")

# a now contains "here is line one", et cetera.
...