Case converters

Malte Grosser

2023-08-27

Basic examples

Default case is snake case

library(snakecase)
to_any_case("veryComplicatedString")
## [1] "very_complicated_string"

Of course other cases are supported (case) and separators can be adjusted (sep_out)

to_any_case(names(iris), sep_in = "\\.", case = "upper_camel", sep_out = " ")
## [1] "Sepal Length" "Sepal Width"  "Petal Length" "Petal Width"  "Species"

And you might want to remove special characters along the way

to_any_case("Doppelgänger is originally german", 
            transliterations = "german", case = "upper_camel")
## [1] "DoppelgaengerIsOriginallyGerman"

All of the cases like: snake, lower_camel, upper_camel, all_caps, lower_upper, upper_lower, mixed and sentence are based on parsed case

to_any_case("THISIsHOW IAmPARSED!", case = "parsed")
## [1] "THIS_Is_HOW_I_Am_PARSED"

Shortcut wrappers like to_snake_case, to_lower_camel_case etc. are available.

Be aware that automatic case conversion depends on the input string and it is recommended to verify the results. So you might want to pipe these into dput() and hardcode name changes instead of blindly trusting to_any_case()’s output:

dput(to_any_case(c("SomeBAdInput", "someGoodInput")))
## c("some_b_ad_input", "some_good_input")

If you are interested in the design of this package, you can find more information on its github page.