Как использовать обратную ссылку с пакетом stringi?

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

library(stringi)

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

[1] "1"

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

В документация Я не смог найти ничего, касающегося этой проблемы.


person Bram Vanroy    schedule 25.08.2015    source источник
comment
Замените \\1 на $1 из документа (?stri_replace_first_regex): Ссылки имеют вид $n, где n — номер группы захвата (их нумерация начинается с 1).   -  person NicE    schedule 25.08.2015


Ответы (1)


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

library(stringi)

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

[1] "hello-you"

Из документа stri_*_regex использует регулярные выражения ICU

person NicE    schedule 25.08.2015