регулярное выражение в R: разделить строки и извлечь числа - PullRequest
0 голосов
/ 20 сентября 2019

Я имею дело со строками типа (внутри кавычек):

"something new * -2 5 4 else" или "что-то новое -2 5 6 другое"

Я хочу получить все после нового, напримердля строки 1: * -2 5 4;а для строки 2: -2, 5, 6

в строках может быть несколько пробелов, например, строка 2, между new и -2

Обновление: спасибо за ответы!Я пытаюсь получить каждый номер / * отдельно.Например, *, -2, 5 как отдельные элементы.Я пробовал strsplit, но иногда в моих строках между цифрами есть дополнительное пространство, и я не знаю, как от них избавиться.

Например, иногда строка выглядит так: «xxx -2 * 4».Применение gsub и strsplit дает мне "-2" "*" "" "" "4".Как мне избавиться от этих двух пустых пространств посередине?

1 Ответ

0 голосов
/ 20 сентября 2019

Мы можем использовать sub для извлечения всего после "new", пока не встретится нецифровка.

sub(".*new(.*)\\s+\\D.*", "\\1", x)
#[1] " * -2 5 4" " -2 5 6"

data

x <- c("something new * -2 5 4 else", "something new -2 5 6 other")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...