to_any_case {snakecase} | R Documentation |
General case conversion
Description
Function to convert strings to any case
Usage
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 = "")
Arguments
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). |
Value
A character vector according the specified parameters above.
Note
to_any_case()
is vectorised over string
, sep_in
, sep_out
,
empty_fill
, prefix
and postfix
.
Author(s)
Malte Grosser, malte.grosser@gmail.com
See Also
snakecase on github or
caseconverter
for some handy shortcuts.
Examples
### 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")