我可以使用perl
in 参数gsub
来更改各个子表达式的大小写。例如,如果我想找到一个小写字母i
后跟撇号或字符串结尾(此处为冗余),我可以这样做:
gsub("(\\bi(\\b|'))", "\\U\\1", "i am able to move do it as i'm going to.", perl = TRUE)
## [1] "I am able to move do it as I'm going to."
注意I
和I'm
是大写但it
不是。
鉴于 base 和stringi使用不同的正则表达式引擎,我如何使用stringi做同样的事情(是否可能) 。
stri_replace_all_regex("i am able to move do it as i'm going to.", "(\\bi(\\b|'))", "\\U$1")
## [1] "1 am able to move do it as 1'm going to."