Помощь с повторным модулем

-4

Мне нужно извлечь все эти строки между шаблонами nr: или /nr :. Кто-нибудь может мне помочь, пожалуйста!

Строка

nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID

Результат, который я ожидаю, это

Organization, Customer, Agreement,...OptionID

спросил(а) 2016-10-07T03:08:00+03:00 4 года, 1 месяц назад
0
58

Если вы хотите сделать это, не используя модуль "re", похоже, что это сработает:

test_string = 'nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID'
columns = [f[3:] for f in test_string.split('/')]
print(columns)

ответил(а) 2016-10-07T03:23:00+03:00 4 года, 1 месяц назад
42

Вот путь с регулярным выражением и разбиением:

import re

string = 'nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID'

x = filter(None, re.split('/*nr:', string))
print x

Регулярное выражение ищет nr: предшествует (или нет) символом '/'. Так как функция re.split оставила несколько пустых элементов, применив filter к ней, вы получите желаемый результат.

Также смотрите здесь: https://eval.in/656744

ответил(а) 2016-10-07T03:19:00+03:00 4 года, 1 месяц назад
42

Используйте модуль re, split строку и отфильтруйте совпадения, длина которых равна 0:

import re

test_string = "nr:Organization/nr:Customer/nr:Agreement/nr:date/nr:coverage/nr:Premium/nr:Option/nr:OptionID"

columns = [x for x in re.split("/{0,1}nr:",test_string) if len(x) > 0]

print(columns)

['Organization', 'Customer', 'Agreement', 'date', 'coverage', 'Premium', 'Option', 'OptionID']

Надеюсь, это поможет.

ответил(а) 2016-10-07T03:18:00+03:00 4 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема