@Bjornie
Изучаю Python

Как разобрать такую строку? Регулярные выражения?

Плохо знаю Regular Expressions, поэтому не знаю с какой стороны подойти к разбору данной строки:

[Some random string] , [Round A] [1 day] - [Trip]


Чистая выглядит вот так: Some random string , Round A 1 day - Trip

Есть строка (чистый текст в html), который надо разбить на 4 части. Учитывая непостоянную длину мне не понятно как это лучше сделать. Я отделил каждую часть в квадратные скобки, может это поможет. Возможно два знака "," и "-" могут быть помощниками в разборе. Подскажите, как это можно сделать?
  • Вопрос задан
  • 269 просмотров
Решения вопроса 3
@NaName
input_string = 'Some short random string , Round CA 1 day - Trip'
some_random_string = input_string.split(',')[0]
input_string = input_string.split(',')[1]
trip_string = input_string.spit('-')[1]
input_string = input_string.spit('-')[0]
day_string = input_string.split(' ')[2] + ' ' + input_string.split(' ')[3]
round_string = input_string.split(' ')[0] + ' ' + input_string.split(' ')[1]


первое что пришло в голову. попахивает, но работает.
Ответ написан
@abcd0x00
>>> import re
>>> 
>>> s = 'Some random string , Round A 1 day - Trip'
>>> 
>>> match = re.search(r'^(.+) , (\S+ \S+) (.+) - (.+)$', s)
>>> match.groups()
('Some random string', 'Round A', '1 day', 'Trip')
>>>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы