How to use back reference with stringi package in

2019-02-24 01:49发布

In R I can use \\1 to reference to a capturing group. However, when using the stringi package, this doesn't work as expected.

library(stringi)

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

[1] "1"

Expected output: hello-you.

In the documentation I couldn't find anything concerning this problem.

1条回答
Rolldiameter
2楼-- · 2019-02-24 02:05

You need to use $1 instead of \\1 in the replacement string:

library(stringi)

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

[1] "hello-you"

From the doc, stri_*_regex uses ICU's regular expressions

查看更多
登录 后发表回答