Присвоение значения переменной в R с сопоставлением с образцом строки - PullRequest
0 голосов
/ 06 февраля 2020

Я должен обнаружить Имя: и присвоить значение любой переменной. Я пытаюсь использовать str_match, но это занимает только Sunil

x = c("Name: Sunil Raperia ")
xx = str_match(x, "Name: (.*?) ")
xx

y = c ("Имя: Sunil Raperia")

stringr :: str_match (y, "Name: (. ) ") [, 2] не может захватить значение, когда значение находится в следующей строке. stringr :: str_match (y, "Name: (. )" / n) [, 2] не решает эту проблему, хотя

1 Ответ

0 голосов
/ 06 февраля 2020

str_match возвращает матрицу, первый столбец - полное совпадение, а 2-й столбец - группа захвата. Так как здесь нам нужна группа захвата, мы можем извлечь 2-й столбец.

xx <- stringr::str_match(x, "Name: (.*) ")[, 2]
xx
#[1] "Sunil Raperia"

Однако это также можно сделать в базе R, используя sub

sub('Name: ', '', x)

ИЛИ

sub('Name: (.*) ', '\\1', x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...