Извлечение числового значения из абзаца на основе предыдущих слов - PullRequest
0 голосов
/ 05 марта 2020

Я работаю с большими текстовыми полями в столбцах. После некоторой очистки у меня есть что-то вроде ниже:

true_val: ["5"]

xerb Scale: ["2"]

perb Scale: ["1"]

Я хочу извлечь число 2. Я пытаюсь сопоставить строку «Масштаб xerb», а затем извлечь 2. Я попытался захватить группу, включающую 2, как (?:xerb Scale:\s\[\")\d{1} и попытался исключить сопоставленную группу через негативный взгляд вперед, но не повезло.

РЕДАКТИРОВАТЬ: дополнительная информация: это будет в запросе SQL, и я пытаюсь извлечь числовое значение с помощью функции REGEXP_EXTRACT (). Этот запрос является частью конвейера, который загружает эту информацию в базу данных.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 05 марта 2020

Я уверен, что есть много, много способов сделать это. Один из способов работы с bash (на основе предоставленных вами тестовых данных):

awk -F':' '/xerb Scale/ {print $2}' file | tr -cd '[:alnum:]._-'

Существуют очевидные предостережения в отношении этого подхода - если вы предоставите больше информации, вы, вероятно, получите лучшее ответ:)

...