snakeToCamel {oce} | R Documentation |
Convert From Snake-Case to Camel-Case Notation
Description
snakeToCamel
converts "snake-case" characters such as "NOVA_SCOTIA"
to "camel-case" values, such as "NovaScotia"
. It was written for
use by read.argo()
, but it also may prove helpful in other contexts.
Usage
snakeToCamel(s, specialCases = NULL)
Arguments
s |
A vector of character values. |
specialCases |
A vector of character values that tell which
special-cases to apply, or |
Details
The basic procedure is to chop the string up into substrings separated by the underline character, then to upper-case the first letter of all substrings except the first, and then to paste the substrings together.
However, there are exceptions. First, any upper-case string that contains no
underlines is converted to lower case, but any mixed-case string with no
underlines is returned as-is (see the second example). Second, if
the specialCases
argument contains "QC"
, then the
QC
is passed through directly (since it is an acronym) and
if the first letter of remaining text is upper-cased (contrast
see the four examples).
Value
A vector of character values
Author(s)
Dan Kelley
Examples
library(oce)
snakeToCamel("PARAMETER_DATA_MODE") # "parameterDataMode"
snakeToCamel("PARAMETER") # "parameter"
snakeToCamel("HISTORY_QCTEST") # "historyQctest"
snakeToCamel("HISTORY_QCTEST", "QC") # "historyQCTest"
snakeToCamel("PROFILE_DOXY_QC") # "profileDoxyQc"
snakeToCamel("PROFILE_DOXY_QC", "QC") # "profileDoxyQC"