Регулярное выражение в R для обратного разделения строк - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь разбить переменную строку на ее компоненты для использования в кадре данных позже, но я пытался найти способ сделать обратное регулярное выражение, чтобы найти строку между двумя символами.

Моя строка выглядит следующим образом:

20581 Buzz Testing Nathan 3 BUZZRETJOUCHUALLA_D1C - Churned - Stage 1 Other 28-February-2019.csv

Я пытаюсь извлечь дату слева от "."вплоть до первого пробела, с которым он сталкивается, что должно дать мне дату.

Я пробовал несколько онлайн-проверок Regex, но ни одна из них, похоже, не очень хорошо переводит в R.

У меня также естьпредоставил пример кода, который я использовал для успешного разделения других элементов текстовой строки:

regmatches(file_list, regexpr("(?<=\\- )[^ -]+", file_list, perl=TRUE)) 

1 Ответ

0 голосов
/ 03 марта 2019

Это регулярное выражение получит вам непустую строку (которая является необходимой вам датой 28-February-2019) после последнего литерала . в вашей строке,

\S+(?=\.[^.]*$)

Демо

Проверьте этот код R,

file_list <- "20581 Buzz Testing Nathan 3 BUZZRETJOUCHUALLA_D1C - Churned - Stage 1 Other 28-February-2019.csv"
regmatches(file_list, regexpr("\\S+(?=\\.[^.]*$)", file_list, perl=TRUE));

Отпечатки,

[1] "28-February-2019"

Online R Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...