General case conversion
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", "sentence", "random", "title"), abbreviations = NULL, sep_in = "[^[:alnum:]]", parsing_option = 1, transliterations = NULL, numerals = c("middle", "left", "right", "asis", "tight"), 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. (Case insensitive) matched abbreviations are surrounded by underscores. In this way, they can get recognized by the parser. This is useful when e.g. Use this feature with care: One letter abbreviations and abbreviations next to each other are hard to read and also not easy to parse for further processing. |
sep_in |
(short for separator input) if character, is interpreted as a
regular expression (wrapped internally into |
parsing_option |
An integer that will determine the parsing_option.
|
transliterations |
A character vector (if not |
numerals |
A character specifying the alignment of numerals ( |
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.
### abbreviations to_snake_case(c("HHcity", "newUSElections"), abbreviations = c("HH", "US")) to_upper_camel_case("succesfullGMBH", abbreviations = "GmbH") to_title_case("succesfullGMBH", abbreviations = "GmbH") ### sep_in (input separator) string <- "R.St\u00FCdio: v.1.0.143" to_any_case(string) to_any_case(string, sep_in = ":|\\.") to_any_case(string, sep_in = ":|(?<!\\d)\\.") ### parsing_option # the default option makes no sense in this setting to_parsed_case("HAMBURGcity", parsing_option = 1) # so the second parsing option is the way to address this example to_parsed_case("HAMBURGcity", parsing_option = 2) # By default (option 1) characters are converted after non alpha numeric characters. # To suppress this behaviour add a minus to the parsing_option to_upper_camel_case("lookBehindThe.dot", parsing_option = -1) # For some exotic cases parsing option 3 might be of interest to_parsed_case("PARSingOption3", parsing_option = 3) # There may be reasons to suppress the parsing to_any_case("HAMBURGcity", parsing_option = 0) ### transliterations to_any_case("\u00E4ngstlicher Has\u00EA", transliterations = c("german", "Latin-ASCII")) ### case 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 = "sentence") to_any_case(strings, case = "title") to_any_case(strings, case = "parsed") to_any_case(strings, case = "mixed") to_any_case(strings, case = "swap") to_any_case(strings, case = "random") to_any_case(strings, case = "none") to_any_case(strings, case = "internal_parsing") ### numerals to_snake_case("species42value 23month 7-8", numerals = "asis") to_snake_case("species42value 23month 7-8", numerals = "left") to_snake_case("species42value 23month 7-8", numerals = "right") to_snake_case("species42value 23month 7-8", numerals = "middle") to_snake_case("species42value 23month 7-8", numerals = "tight") ### sep_out (output separator) string <- c("lowerCamelCase", "ALL_CAPS", "I-DontKNOWWhat_thisCASE_is") to_snake_case(string, sep_out = ".") to_mixed_case(string, sep_out = " ") to_screaming_snake_case(string, sep_out = "=") ### empty_fill to_any_case(c("","",""), empty_fill = c("empty", "empty", "also empty")) ### unique_sep to_any_case(c("same", "same", "same", "other"), unique_sep = c(">")) ### prefix and postfix to_upper_camel_case("some_path", sep_out = "//", prefix = "USER://", postfix = ".exe")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.