gpt4 book ai didi

用于在大写字母前添加下划线的正则表达式

转载 作者:行者123 更新时间:2023-12-01 10:19:18 26 4
gpt4 key购买 nike

如何在字符串中的大写字母前添加下划线 (_),第一个字母除外?

[1] "VarLengthMean" "VarWidthMean" 

我希望它变成:

[1] "Var_Length_Mean" "Var_Width_Mean" 

我考虑过使用 stringr 中的 str_replace_all,但我不知道应该使用哪个正则表达式。

我该如何解决这个问题?

最佳答案

一个选项是捕获小写字母和后面的大写字母,然后在添加反向引用时插入 _ (\\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"

数据

v1 <- c("VarLength", "VarWidth" )
v2 <- c("VarLengthMean", "VarWidthMean")

关于用于在大写字母前添加下划线的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com