如何在字符串中的大写字母前添加下划线 (_)(第一个字母除外)?
[1] "VarLengthMean" "VarWidthMean"
我希望它变成:
[1] "Var_Length_Mean" "Var_Width_Mean"
我考虑过使用str_replace_all
from stringr
,但我不知道应该使用哪个正则表达式。
我该如何解决这个问题?
一种选择是捕获小写字母和后面的大写字母,然后插入_
添加反向引用时(\\1
, \\2
) 捕获组
sub("([a-z])([A-Z])", "\\1_\\2", v1)
#[1] "Var_Length" "Var_Width"
如果实例较多,则使用gsub
gsub("(?<=[a-z])(?=[A-Z])", "_", v2, perl = TRUE)
#[1] "Var_Length_Mean" "Var_Width_Mean"
data
v1 <- c("VarLength", "VarWidth" )
v2 <- c("VarLengthMean", "VarWidthMean")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)