我很清楚 和 等snakecase允许janitor字符串转换为蛇形大小写的软件包,但我无法仅使用基本 R而不使用任何其他软件包找到答案。做到这一点最优雅的方法是什么?
例如,以下字符串:
strings <- c("foo bar", "fooBar", "FooBar", "foo21bar",
"lowerCamelCase", "ALL_CAPS", "IDontKNOWWhat_thisCASE_is")
Run Code Online (Sandbox Code Playgroud)
应转换为蛇形外壳。
这本质上复制了snakecase::to_snake_case()
我们可以用两个gsub来完成这项工作。
strings <- c("foo bar", "fooBar", "FooBar", "foo_bar")
gsub(" ", "_", tolower(gsub("(.)([A-Z])", "\\1 \\2", strings)))
[1] "foo_bar" "foo_bar" "foo_bar" "foo_bar"
Run Code Online (Sandbox Code Playgroud)