| to_any_case {snakecase} | R Documentation |
Function to convert strings to any case
to_any_case(string, case = c("snake", "small_camel", "big_camel",
"screaming_snake", "parsed", "mixed", "lower_upper", "upper_lower", "swap",
"all_caps", "lower_camel", "upper_camel", "internal_parsing", "none", "flip"),
abbreviations = NULL, sep_in = NULL, parsing_option = 1,
transliterations = NULL, sep_out = NULL, unique_sep = NULL,
empty_fill = NULL, prefix = "", postfix = "")
string |
A string (for example names of a data frame). |
case |
The desired target case, provided as one of the following:
There are five "special" cases available:
|
abbreviations |
character with (uppercase) abbreviations. This marks
abbreviations with an underscore behind (in front of the parsing).
Useful if |
sep_in |
(short for separator input) A regex supplied as a character (if not |
parsing_option |
An integer that will determine the parsing_option.
|
transliterations |
A character vector (if not You should use this feature with care in case of |
sep_out |
(short for separator output) String that will be used as separator. The defaults are |
unique_sep |
A string. If not |
empty_fill |
A string. If it is supplied, then each entry that matches "" will be replaced by the supplied string to this argument. |
prefix |
prefix (string). |
postfix |
postfix (string). |
A character vector according the specified parameters above.
to_any_case() is vectorised over string, sep_in, sep_out,
empty_fill, prefix and postfix.
Malte Grosser, malte.grosser@gmail.com
snakecase on github or
caseconverter for some handy shortcuts.
### Cases
strings <- c("this Is a Strange_string", "AND THIS ANOTHER_One")
to_any_case(strings, case = "snake")
to_any_case(strings, case = "lower_camel") # same as "small_camel"
to_any_case(strings, case = "upper_camel") # same as "big_camel"
to_any_case(strings, case = "all_caps") # same as "screaming_snake"
to_any_case(strings, case = "lower_upper")
to_any_case(strings, case = "upper_lower")
to_any_case(strings, case = "parsed")
to_any_case(strings, case = "mixed")
to_any_case(strings, case = "internal_parsing")
to_any_case(strings, case = "none")
### Parsing options
# the default option makes no sense in this setting
to_any_case("HAMBURGcity", case = "parsed", parsing_option = 1)
# so the second parsing option is the way to address this example
to_any_case("HAMBURGcity", case = "parsed", parsing_option = 2)
# By default (option 1) characters are converted after non alpha numeric characters.
# This option (3) suppresses this behaviour
to_any_case("blaBla.bla", case = "big_camel", parsing_option = 3)
# Numbers are always separated from characters via an underscore.
# To suppress this behaviour choose parsing_option 4
snakecase::to_any_case("d3 library", case = "upper_camel", parsing_option = 4, sep_out = " ")
# there might be reasons to suppress the parsing, while choosing neither one or two
to_any_case("HAMBURGcity", case = "parsed", parsing_option = 0)
### Abbreviations
to_any_case(c("RSSfeedRSSfeed", "USPassport", "USpassport"), abbreviations = c("RSS", "US"))
### Separator input
string <- "R.St\u00FCdio: v.1.0.143"
to_any_case(string)
to_any_case(string, case = "snake", sep_in = ":|\\.")
to_any_case(string, case = "snake",
sep_in = ":|(?<!\\d)\\.")
### Transliterations
to_any_case("\u00E4ngstlicher Has\u00EA", transliterations = c("german", "Latin-ASCII"))
### sep_out
strings2 <- c("this - Is_-: a Strange_string", "AND THIS ANOTHER_One")
to_any_case(strings2, case = "snake", sep_in = "-|\\:", sep_out = " ")
to_any_case(strings2, case = "big_camel", sep_in = "-|\\:", sep_out = "//")
### Empty fill and unique sep
to_any_case(c("","",""), empty_fill = c("empty", "empty", "also empty"))
to_any_case(c("same", "same", "same", "other"), unique_sep = c(">"))
### Pre -and postfix
to_any_case(strings2, case = "big_camel", sep_in = "-|\\:", sep_out = "//",
prefix = "USER://", postfix = ".exe")