Вырезать из строки несколько нужных подстрок

0 голосов
АлександрЛД в категории Как сделать...
Добрый день.

А как можно вырезать несколько однотипных подстрок из строки? Чтобы в строке остались только нужные части. (Их может быть несколько десятков).

Пытался через калькулятор - RegEx - не получается. Выражение, которое в конструкторе срабатывает в Лоджиноме выдаёт пустое поле (id":"\d*). Подскажите, пжл, какой компонент можно использовать?

Ответ: 1 шт.

0 голосов
mihail.ni

Здравствуйте!

Как я понимаю Вам требуется из строки вырезать все подстроки вида id:1234567890. Для этого можно воспользоваться обработчиком Калькулятор  и функцией RegExReplaceAll.

Функцию нужно задать следующим образом:

RegExReplaceAll("id:\d*",Expr,"")

где Expr — это поле из которого нужно вырезать подстроки.

АлександрЛД
Удалить всё получилось. Спасибо огромное)))

Там с кавычками затык был, но разобрался, применив Concat.

А если нужно вычленить все такие подстроки, а не удалить их? Для применения RegExMatchedExp нужен номер части строки, как я понял. Но таких номеров может быть очень много....
mihail.ni

Можно это сделать следующим образом:

RegExReplaceAll("[^id:\d+]",Expr1," " )

В таком случае есть некоторые нюансы. Зависит от того, какие подстроки содержит строка, кроме id:1234567890. Возможно, нужно будет еще поработать с получившимся значением.

АлександрЛД
Такой простой формулой не получается сделать. Как я понял, RegEx в принципе не предназначены для конструкций типа: "Удалить всё, что не соответствует". А наоборот, чтобы найти что-то в массиве. В частности, в Google Analytics мы используем их, чтобы задать нужный класс или элемент. Поэтому пришлось использовать несколько простых ступеней очистки данных. После этого всё получилось. Спасибо)) Совет реально помог.
garibagaev

Вашу задачу можно решить методами Loginom.

Для этого нужно в узле "калькулятор" в верхнем левом углу переключить режим работы с "Выражение" (там нарисован значок функции "f(x)") на "JavaScript", после в свободное поле вписать Expr.match(/id:\d*/g).join(", ").

Expr - это входная строка.

Выражение в скобках после join указывает на разделитель получаемой строки (в данном случае запятая и пробел), его можно задать как вручную, так и переменной. Так же можно записать join(), которое по умолчанию соответствует  join(","), если разделитель не требуется, нужно написать join("").

...