该perl()函数在最新版本的 stringr 中已被弃用,取而代之的是regex(). 但是,我似乎无法复制早期的行为。
要将字符串向量的第一个字母大写,可以使用以下方法:
name <- c("jim", "john", "bill")
str_replace(name, perl("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)
然而,这不再有效:
str_replace(name, regex("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)
但使用基本 R 是有效的:
gsub("^(.)", "\\U\\1", name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
还有办法用 stringr 包来做到这一点吗?
stringr 现在由stringi提供支持,而不是使用ICU正则表达式。如果你想实现PCREsub ,只需在打开模式时直接使用perl = TRUE...
sub('^(.)', '\\U\\1', name, perl=TRUE)
[1] "Jim" "John" "Bill"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |