Excel: скрипт для идентификации текста в одном столбце (на основе регулярных выражений) и вставки его в следующий столбец после того, как найден - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть файл Excel с более чем 10000 столбцами текста, подобного этому (пример):

Identified a potential Security Vulnerability CVE-2018-1231

Могу ли я в любом случае определить столбцы, имеющие CVE, и написать целое CVE-2018-1231 в следующем столбце, написав регулярное выражение или формулу?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Используйте эту формулу в столбце B (при условии, что столбец A содержит данные)

=IFERROR(MID(A1,SEARCH("CVE",A1),13),"")

Это будет даже работать, если CVE не обязательно в конце. Это будет работать для обоих примеров ниже:

Column A                                                            | Column B
Identified a potential Security Vulnerability CVE-2018-1231         | CVE-2018-1231
Identified a potential Security Vulnerability CVE-2018-1232 aeuia e | CVE-2018-1232

Если ваш номер CVE не всегда 13 символов, вы должны использовать:

=IFERROR(MID(A1,SEARCH("CVE",A1),IFERROR(SEARCH(")",A1,SEARCH("CVE",A1)+1),IFERROR(SEARCH(" ",A1,SEARCH("CVE",A1)+1),LEN(A1)))-SEARCH("CVE",A1)),"")

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

0 голосов
/ 13 ноября 2018

для ячейки A1, содержащей ваш пример:

=if(isnumber(search("CVE";A1));right(A1;13);"")

с разделителем

=if(isnumber(search("CVE",A1)),right(A1,13),"")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...