python-case-converter
python-case-converter copied to clipboard
A case conversion library for Python.
Case Converter
A robust python package for transforming string cases such as Hello, world! into
helloWorld (camelcase).
General usage
from caseconverter import camelcase
camelcase("Hello, world!") # output: helloWorld
Available conversions
camelcase
from caseconverter import camelcase
camelcase("Hello, world!")
helloWorld
cobolcase
from caseconverter import cobolcase
cobolcase("Hello, world!")
HELLO-WORLD
flatcase
from caseconverter import flatcase
flatcase("Hello, world!")
helloworld
kebabcase
from caseconverter import kebabcase
kebabcase("Hello, world!")
hello-world
macrocase
from caseconverter import macrocase
macrocase("Hello, world!")
HELLO_WORLD
Additional options
delims_only : bool - Only consider delimiters as boundaries (default: False).
pascalcase
from caseconverter import pascalcase
pascalcase("Hello, world!")
HelloWorld
snakecase
from caseconverter import snakecase
snakecase("Hello, world!")
hello_world
Options for all conversions
Stripping punctuation
Punctuation is stripped when doing a case conversion. However, should you
wish to keep the punctuation you can do so by passing strip_punctuation=False.
camelcase("Hello, world!", strip_punctuation=False) # output: hello,World!
Delimeter customization
Default delimiters used to denote a token boundary.
DELIMITERS = " -_"
You can pass delims to each case conversion function to specify a custom
set of delimiters.
# Use a pipe `|` as the only delimiter.
camelcase("Hello,|world!", delims="|") # output: helloWorld
Behavior
Delimiters
If multiple delimeter characters are identified next to eachother they will be considered as a single delimeter. For example, -_ contains 2 different delimeter characters and is considered a single delimeter.
Boundary definitions
| Name | Description |
|---|---|
| OnDelimeterUppercaseNext | On a delimieter, upper case the following character |
| OnDelimeterLowercaseNext | On a delimeter, lower case the following character |
| OnUpperPrecededByLowerAppendUpper | On an upper case character followed by a lower case character, append the upper case character |
| OnUpperPrecededByLowerAppendLower | On an upper case character preceeded by a lower case character append the lower case character |
| OnUpperPrecededByUpperAppendJoin | On an upper case caharacter preceeded by an upper append the join character. Join characters are context dependent. Example: macro cast join character is _ |
| OnUpperPrecededByUpperAppendCurrent | On an upper case character preceeded by an upper case character append the upper case character |
Contributing
- Write clean code.
- Write new tests for new use-cases.
- Test your code before raising a PR.
- Use black to format your code.