Преобразовать кавычки в елочки в столбце сформированной таблицы

Есть проблема. Нужно в сформированной скриптом таблице, в одном из столбцов произвести замены по содержимому следующего типа:

"текст" заменить на <<текст>>

стр. 12 заменить на стр.12

полная строка выглядит примерно так "п. 1, п. 2 Приложения 11АА (стр. 191)", соответсвенно нужно преобразовать в <<п.1, п.2 Приложения 11АА (стр.191)>>

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


Ответы (2 шт):

Автор решения: Алексей

let str = '"п. 1, п. 2 Приложения 11АА (стр. 191)"';
let newstr = str.replace(/стр\.[\s{2,}]+/, 'стр.').replace(/^"(.*)"$/, '<<$1>>',)
console.log(`старая строка :    ${str}`);
console.log(`новая строка :     ${newstr}`);

→ Ссылка
Автор решения: Wiktor Stribiżew

В R есть возможность задать именной вектор с парами "регулярное выражение-шаблон замены" и передать его в stringr::str_replace_all:

text <- '"п. 1, п. 2 Приложения 11АА (стр. 191)"'
search_replace <- c('^"' = '<<', '"$' = '>>', '(стр\\.)\\s+(\\d)' = '\\1\\2')
library(stringr)
str_replace_all(text, search_replace)
## => [1] "<<п. 1, п. 2 Приложения 11АА (стр.191)>>"

Шаблон ^" находит двойную кавычку в начале строки, "$ находит такую кавычку в конце, а (стр\.)\s+(\d) находит стр. и помещает в подмаску №1 (\1 в шаблоне замены), затем 1 и более пробельных символов, а затем любую цифру (которую помещает в подмаску №2 (\2)).

См. пример работы выражения и пример работы кода на R.

→ Ссылка