У меня есть текст, в котором есть случайные символы новой строки \n
. Я хочу выделить часть этого текста после определенной фразы.
text <- "Lorem ipsum dolor sit amet, \nconsectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. \nDuis aute irure dolor in reprehenderit in voluptate velit esse \ncillum dolore eu fugiat nulla pariatur. \nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
Я хочу извлечь текст из фразы Duis
до конца. Мои попытки ниже
str_extract(text, "(Duis.+)")
[1] "Duis aute irure dolor in reprehenderit in voluptate velit esse "
str_extract(text, "(Duis.+)(\\s.*)")
[1] "Duis aute irure dolor in reprehenderit in voluptate velit esse \ncillum dolore eu fugiat nulla pariatur. "
Мой желаемый результат
"Duis aute irure dolor in reprehenderit in voluptate velit esse \ncillum dolore eu fugiat nulla pariatur. \nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
Как я могу достичь цели, не заменяя \n
в исходном тексте?
2 ответа
Вы можете использовать [\\s\\S]
для сопоставления всего, включая новые строки.
stringr::str_extract(text, 'Duis[\\s\\S]*')
[1] "Duis aute irure dolor in reprehenderit in voluptate velit esse \ncillum dolore eu fugiat nulla pariatur. \nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
Вы можете сохранить исходный текст таким, какой он есть, и создать переменную, содержащую этот текст после изменений, что означает, что вы можете сделать следующее
var oldText = "myText";
var newText = oldText.split("\n");
console.log(newText)
- это вернет каждую часть после \ n вашего текста внутри массива, и вы можете выбрать нужную часть из индекса массива
Похожие вопросы
Новые вопросы
r
R - это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, предоставьте минимальные и воспроизводимые примеры вместе с желаемым результатом. Используйте dput () для данных и укажите все небазовые пакеты с вызовами library (). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. По вопросам, связанным со статистикой, используйте https://stats.stackexchange.com.