ALSI.CaseConversions is a .NET library that converts various string formats into other cases. It provides robust handling of different casing conventions, separators, and special characters, making it an ideal utility for consistent string formatting in your applications.
Install the NuGet package using the .NET CLI:
dotnet add package ALSI.CaseConversions
Or via the NuGet Package Manager:
Install-Package ALSI.CaseConversions
The primary method exposed by ALSI.CaseConversions
is ToSnakeCase
, a static method that converts strings into snake_case
format.
using ALSI.CaseConversions;
string result = SnakeCase.Converter.Convert("HelloWorld");
// result: "hello_world"
The converters can handle can handle different types of input formats, using snake_case
as an example:
// PascalCase to snake_case
var pascalResult = SnakeCase.Converter.Convert("PascalCaseInput");
// pascalResult: "pascal_case_input"
// camelCase to snake_case
var camelResult = SnakeCase.Converter.Convert("camelCaseInput");
// camelResult: "camel_case_input"
// Hyphen-separated words
var hyphenResult = SnakeCase.Converter.Convert("Hello-World-Example");
// hyphenResult: "hello_world_example"
// Dot-separated words
var dotResult = SnakeCase.Converter.Convert("Hello.World.Example");
// dotResult: "hello_world_example"
// Mixed case with numbers
var mixedResult = SnakeCase.Converter.Convert("File123Name");
// mixedResult: "file123_name"
"PascalCaseInput"
→ "pascal_case_input"
"camelCaseInput"
→ "camel_case_input"
"Hello-World-Example"
→ "hello_world_example"
"Hello.World.Example"
→ "hello_world_example"
"Hello World"
→ "hello_world"
"File123Name"
→ "file123_name"
"Hello@world!"
→ "helloworld"
"XMLRequest"
→"xml_request"
.The conversion is limited by the following:
System.Text.Json
. Beyond that, shared array buffers are used to attempt to retain performance improvements.We welcome contributions! Feel free to open an issue or submit a pull request on GitHub.
Clone the repository:
git clone https://github.com/alsi-lawr/alsi.caseconversions.git
cd ALSI.CaseConversions
Build the project:
dotnet build
Run tests:
dotnet test