r - 如何在R中将CamelCase转换为not.camel.case

标签 r

在R中,我想转换

c("ThisText", "NextText")


c("this.text", "next.text")

这是this SO question的反函数,与this one相同,但是R中带有点而不是PHP中带有下划线。

最佳答案

目前尚不清楚整个规则集是什么,但我们假设

  • 我们应该在小写字母之后将任何大写字母小写,并在它们之间插入一个点,并在
  • 之间插入一个点
  • 如果后跟小写字符,则为字符串的第一个字符。

  • 为此,我们可以将perl正则表达式与subgsub结合使用:
    # test data
    camelCase <-  c("ThisText", "NextText", "DON'T_CHANGE")
    
    
    s <- gsub("([a-z])([A-Z])", "\\1.\\L\\2", camelCase, perl = TRUE)
    sub("^(.[a-z])", "\\L\\1", s, perl = TRUE) # make 1st char lower case
    

    给予:
    [1] "this.text"    "next.text"    "DON'T_CHANGE"
    

    关于r - 如何在R中将CamelCase转换为not.camel.case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22528625/

    相关文章:

    r - 根据条件修改列中的值?

    r - 矩阵中的 for 循环 - 相对频率

    r - 如何在 Shiny 的应用程序中下载pdf以响应用户输入?

    r - 将新数据呈现给适合的自组织映射并将行分配给集群

    R Shiny - 如何使用第 2 列中的嵌套行生成此布局

    r - 在双轴图上绘制不同级别的零线

    r - 我怎样才能在条形图中放置一个高大的条形图?

    r - 多面水平发散堆积条形图,包括使用 dplyr 和 ggplot 的负值

    r - 查询biomart时出现内部服务器错误?

    r - 在 R 中将大文件分区为小文件