R - вернуть строку в первом наборе кавычек - PullRequest
0 голосов
/ 21 февраля 2019

ТАК У меня есть датафрейм, состоящий из тысяч записей, которые я импортировал из .csv.Одна переменная внутри фрейма данных - это поле свободного текста, полученное из лексикона.Строки данных представлены в следующем формате.

Обратите внимание, что ниже приведены не векторы, а строки данных char в переменной 'date' (они просто выглядят в точности как вектор):

c("9th november 2018", "27th october 2018"),

c("three months", "6 months"),

c("24th december ", "2th january 2019", "25th january 2019")

по сути все, что яя заинтересован в том, чтобы взять строку из первого набора кавычек и удалить остальные, поэтому:

c("9th november 2018", "27th october 2018") 
9th november 2018

Я использую следующий код, но он берет строку из последнего набора кавычек:

LexiDate3$finaldat3 <- sub('.*,"*(.*?) *" *', '\\1', LexiDate3$Date_new)

, что возвращает:

27th october 2018")

Не идеально, и для моей жизни не могу понять это.Любая помощь будет с благодарностью, ребята.

Спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

Как это выглядит?Обратите внимание, что кавычки вокруг вывода помещаются там методом печати и не включаются в строку.

library(stringr)
test <- 'c("9th november 2018", "27th october 2018"),'
str_extract(test,'(?<=")(.*?)(?=")')
#> [1] "9th november 2018"
Created on 2019-02-21 by the reprex package (v0.2.1)
...