Function Repository Resource:

StringCaseConvert (1.0.0) current version: 2.0.0 »

Source Notebook

Convert strings between different string cases

Contributed by: Antonis Aristeidou

ResourceFunction["StringCaseConvert"][case,str]

converts string str to use the case convension.

ResourceFunction["StringCaseConvert"][{sep, opts}, str]

convert str to a custom case delimited by sep and with rules given by opts.

ResourceFunction["StringCaseConvert"][case]

operator form of ResourceFunction["StringCaseConvert"].

Details and Options

StringCaseConvert uses a series of StringReplace rules.
The standard separator characters are: "-", "_" and " ".
The below table oulines all available string cases for cases and an example phrase written in each case:
"CamelCase"theQuickBrownFox
"CobolCase"THE-QUICK-BROWN-FOX
"ConstantCase"THE_QUICK_BROWN_FOX
"KebabCase"the-quick-brown-fox
"LowerCase"the quick brown fox
"LowerCaseFlat"thequickbrownfox
"AdaCase"The_Quick_Brown_Fox
"PascalCase"TheQuickBrownFox
"SnakeCase"the_quick_brown_fox
"TitleCase"The Quick Brown Fox
"TrainCase"The-Quick-Brown-Fox
"UpperCase"THE QUCIK BROWN FOX
"UpperCaseFlat"THEQUICKBROWNFOX
The custom separator sep can be any string.
The following options can be passed to opts:
"Capitalize"Capitalize the first letter of each word
"ToLowerCase"Convert all characters to lower case
"ToUpperCase"Convert all characters to upper case

Examples

Basic Examples (5) 

Convert any string case to kebab case:

In[1]:=
ResourceFunction["StringCaseConvert"]["KebabCase", "camelCase"]
Out[1]=

The input can use a variety of string cases:

In[2]:=
ResourceFunction["StringCaseConvert"]["SnakeCase", #] & /@ {
  "camelCase",
  "snake_case",
  "Ada_Case",
  "COBOL-CASE"
  }
Out[2]=

The input string can contain any string case. Non-separator punctuation characters are ignored:

In[3]:=
ResourceFunction["StringCaseConvert", ResourceVersion->"1.0.0"]["CamelCase", "symbol_containing/Punctiation-characters/And_Multiple_CASES"]
Out[3]=

Create an operator form of StringCaseConvert:

In[4]:=
conv = ResourceFunction["StringCaseConvert"]["AdaCase"] ;
conv["someOtherCase"]
Out[5]=

A custom string case can be defined by using a list in place of case:

In[6]:=
ResourceFunction["StringCaseConvert", ResourceVersion->"1.0.0"][{ "~~", Capitalize -> True},  "the_quick/brown-fox/jumpsOver/THE-FENCE"]
Out[6]=

Properties and Relations (3) 

StringCaseConvert changes the separator character convention:

In[7]:=
ResourceFunction["StringCaseConvert", ResourceVersion->"1.0.0"]["CamelCase",  "symbol containing/multi-Convention/COMPLEX_strings"]
Out[7]=

ResourceFunction["ToCamelCase"] only applies to whitespace characters:

In[8]:=
ResourceFunction[
  "ToCamelCase"]["symbol containing/multi-Convention/COMPLEX_strings"]
Out[8]=

Capitalize ignores any punctuation:

In[9]:=
Capitalize["symbol containing/multi-Convention/COMPLEX_strings", "TitleCase"]
Out[9]=

Publisher

Antonis Aristeidou

Requirements

Wolfram Language 12.1 (March 2020) or above

Version History

  • 2.0.0 – 11 November 2025
  • 1.0.0 – 22 October 2025

Related Resources

License Information