A sub-class of the Python str class that adds case conversion functions.
Project description
StringBender
Sub-class of Python str
that adds case conversion functions. They are especially useful for transforming data model field names, ex: REST (camelCase) to Python (snake_case).
Table of Contents
Installation
From the command line:
pip install stringbender
or if you're using poetry:
poetry add stringbender
Functions
StringBender provides the following static functions for converting the case of a specified string:
These helper methods call a corresponding method in the stringbender.String
class and converts the output to str
.
Usage:
from stringbender import camel, kebob, pascal, snake, String
# ================================================================================
# EXAMPLES # OUTPUT
s = "Hasta la vista baby"
print(camel(s)) # hastaLaVistaBaby
print(kebob(s) # hasta-la-vista-baby
print(pascal(s)) # HastaLaVistaBaby
print(snake(s)) # hasta_la_vista_baby
# ================================================================================
# Using a StringBender method with a built-in function
# Create an instance of stringbender.String:
s = String("vote*for*pedro")
# Check the default output:
print(s.camel()) # vote*For*Pedro (hmm... this isn't right)
# Pass in a custom delimiter:
print(s.replace("*", " ").camel()) # voteForPedro (Much better!)
# ================================================================================
# Using a list of delimiters
s = snake("Careful man, there's a beverage here!", delimiters=[",", "'", "!"])
print(snake(s)) # careful_man_there_s_a_beverage_here
The String Class
stringbender.String
Methods
Optional argument definitions below
camel()
(String) :
Combines all words and he first letter of the first word is lower case, while the first letter of every subsequent word is uppercase.
kebob()
(String)
Creates a hyphen delimited lower-case string.
pascal()
(String)
Combines all words, and capitalizes the first letter of each word.
snake()
(String)
Creates an underscore delimited lower-case string.
as_str()
(str)
Returns the value as a str
. This is the same as str(String(...))
Constants
DEFAULT_DELIMITERS: List[str] = [" ", ".", "-", "_", ":", "\\"]
Optional Method Arguments
delimiters: List[str] = DEFAULT_DELIMITERS
Used to split the string into words.
split_on_first_upper: bool
Splits on the first occurence of a capital letter following a lowercase letter.
title_case: bool
For character-delimited strings (kebob, snake), This will capitalize the first letter of each word.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file stringbender-0.4.0.tar.gz
.
File metadata
- Download URL: stringbender-0.4.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0e38588d8c57f3a1dc1c8526ef3ad107c898ef3c28a8cd98029080fc2400a62 |
|
MD5 | 32ff783548cb1534dc1bd7af11d59bb3 |
|
BLAKE2b-256 | 85c165fd71e90458ce5e1b0fd22fd86644d5941f197c5a29f442cb772eceef6b |
File details
Details for the file stringbender-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: stringbender-0.4.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 639e3ae54714203b2c2d8a6a083a4e4210e7f92cfef84ff9ad8daff0fe855006 |
|
MD5 | 5833a72ebc9054cb5f4b507c18ed8d9d |
|
BLAKE2b-256 | 5ec21ea69a29b770da8d0f48af0089337e36d70f8c732e775fc32d92f02488c0 |