2015-08-25 4 views
2

В R Я могу использовать \\1 для ссылки на группу захвата. Однако при использовании пакета stringi это не работает должным образом.Как использовать обратную ссылку с пакетом stringi в R

library(stringi) 

fileName <- "hello-you.lst" 
(fileName <- stri_replace_first_regex(fileName, "(.*)\\.lst$", "\\1")) 

[1] "1" 

Ожидаемый результат: hello-you.

В the documentation Я ничего не смог найти по этой проблеме.

+0

Измените '\\ 1' до' $ 1 ', из дока ('? stri_replace_first_regex'): Ссылки имеют вид $ n, где n - номер группы захвата (их нумерация начинается с 1). – NicE

ответ

3

Вы должны использовать $1 вместо \\1 в строке замены:

library(stringi) 

fileName <- "hello-you.lst" 
fileName <- stri_replace_first_regex(fileName, "(.*)\\.lst$", "$1") 

[1] "hello-you" 

С doc, stri_*_regex использует ICU's regular expressions

 Смежные вопросы

  • Нет связанных вопросов^_^