![]() |
парсим значения
Возник вопрос.
я хочу с парсить значения с исходного кода. Код:
'idi': '784167',idi':=Copy(S, Pos('idi'', V)+7, 6); то касяк так как 784167 может состоять как из 6 так из 5 или 7 цифр попробовал через функцию Код:
idi':=(Pars('от',S,'до'));до это- ', так нельзя подставить граници от до так как они содержат знак ' сама функция Код:
function Pars(T_, ForS, _T: string): string; |
Цитата:
|
idi:=Copy(S, Pos('idi'', V)+7, 7);
if not (idi[5] in ['0'..'9']) then setlength(idi,5) else if not (idi[6] in ['0'..'9']) then setlength(idi,6); |
регэкспы?
|
ErrorNeo кстати да, можно же на вхождение в множество проверять.
Я сначал объявлял переменную set of '0'..'9' так там оказывалось не то что я ожидал. Но твой способ вроде катит только на 5-6 цифр, остальное надо дописывать. Допустим если 10 цифр будет? Переделанный код с множествами Цитата:
|
а я в своих программах не допускаю невозможных случаев=)
если ТС сказал 5-7 символов, значит 5-7 символов! xD |
'(?<id>[\w]+)'\s*:\s*'(?<number>[\d]+)'
Вот и все. Что вы там очередные велосипеды придумываете? Если лимиты есть можно точнее ограничить '(?<id>[\w]+)'\s*:\s*'(?<number>[\d]{5,7})' |
PHP код:
|
| Время: 10:17 |