Можно ли извлечь строку фиксированного формата из длинной строки в Spotfire? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь извлечь строку фиксированного формата из столбца, этот столбец содержит несколько строк фиксированного формата.

например,

2018-1234567,2018-0123456,2018-2345678

, но он всегда содержит много видов строк мусора (введите этот столбец вручную)

например

SN: 2018-1234567 и 2018-0123456 и 2018-2345678

или

идентификатор отслеживания: 2018-1234567;2018-0123456; 2018-2345678

Я могу использовать функцию RXREPLACE для удаления некоторых из них, но я не могу удалить непредвиденную строку мусора в будущем.

, поэтому мне интересно, есть лифункция может просто извлечь строки фиксированного формата из этого столбца?строка фиксированного формата YYYY-NNNNNNN (цифра года-7)

Если я могу это сделать, мне не нужно беспокоиться о неизвестной строке мусора в этом столбце.

большое спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Это может быть не чугунное решение, однако оно работает для примеров, без загадочных осмотров, если вы счастливы иметь пробел в качестве разделителя:

Trim(RXReplace([mystring],"\\\D*\\\d*\\\D*(\\\d{4}-\\\d{7})","$1,","g"))

Он захватывает строкувам нравится (\\ d {4} - \\ d {7}) и заменяет его на себя $ 1, за которым следует пробел.Все, что не окружено (), осталось позади.Предполагается, что любой «мусор», который появляется перед / между каждой строкой, состоит из комбинации цифр (\\ d) и нецифровых (\\ D).

На самом деле просто \\ D * будет иметьсработало, но оно бы не удаляло что-то вроде отслеживания 123 ID:

Trim() - удалить последний пробел.

Гайя

...