Вытащить часть текста из строки в Google Sheets
В Google Sheets у меня есть следующий текст, хранимый в строчке:
{"af_order_type":"pickup","af_customer_user_id":"0cb8aebe-b067-4ff1-b0f8-5d4b2afda1cf","af_order_id":"74090155158",}
Мне нужно вытащить 74090155158
(он представлен текстом, как и вся строка).
Испробованные формулы (везде синтаксическая ошибка, разделитель должен быть ; ):
=IFERROR(MID(E2; SEARCH("af_order_id\":\""; E2) + LEN("af_order_id\":\""); SEARCH("\""; E2; SEARCH("af_order_id\":\""; E2) + LEN("af_order_id\":\"")) - (SEARCH("af_order_id\":\""; E2) + LEN("af_order_id\":\""))); "Не найдено")")))
=IFERROR(REGEXEXTRACT(E2; "af_order_id\":\"([^\"]+)"); "Не найдено")
Ответы (3 шт):
Автор решения: Алексей Р
→ Ссылка
Регулярное выражение может быть такое af_order_id\D+(\d+)
- ищем af_order_id
, следом несколько не-цифр \D+
, далее несколько цифр \d+
, которые и захватываем ()
=IFERROR(REGEXEXTRACT(A1;"af_order_id\D+(\d+)"); "Не найдено")
Автор решения: Qwertiy
→ Ссылка
везде синтаксическая ошибка, разделитель должен быть ;
Неправильно кавычки экранируешь. Надо не \"
, а ""
:
=IFERROR(REGEXEXTRACT(E2;"""af_order_id"":""([^""]+)"); "Не найдено")