2016-07-04 1 views
-2

есть способ извлечь текст из строки, путем поиска с точки до другой?Как извлечь строку из точки в другую?

Например, у меня есть следующая строка:

string = {"sn":"Arsenal To Win","mn":"Match Result","ewc":"1/1 1","cid":9281870353,"prt":"CP","ewf":"1.0","epr":"2.12","prices":{"0":"28/25","1":"2.12","2":"+112","3":"1.12","4":"-0.893","5":"1.12"}} 

и что я хотел бы извлечь это первое значение 2,12, между «EPR» и «цены»

Я пробовал много вариантов, для пример: line.startswith("epr"), но это не очень хорошо работает, поэтому самый простой, что я пробовал, не писать слишком много строки кода:

test = string[103:108] 
print test 

проблема в том, что это не динамика, есть ли динамичный способ сделать это?

Большое спасибо за помощь !!!!

+2

Похоже, что у вас есть это не строка, а словарь – dmitryro

+1

Это не строка .... это объект, называемый словарь ... что вы действительно нужно? –

+0

Мне очень жаль, я новичок в Python, и я не знал, что это был json ... Я решил это следующим образом: j = json.loads (string) ['epr'] – Lord

ответ

0

Ваш объект не является строкой, а словарем. 2.12 не находится «между» 'epr' и 'prices'; он связан только с 'epr', а так как словари неупорядочены, он не логически «следует» на 'prices' в любом случае. Если вы хотите получить доступ к 2.12, это просто

string['epr'] 
+0

Спасибо, что работает !!!! :) – Lord