Utilbox.Strings
2.1.0
dotnet add package Utilbox.Strings --version 2.1.0
NuGet\Install-Package Utilbox.Strings -Version 2.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Utilbox.Strings" Version="2.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Utilbox.Strings" Version="2.1.0" />
<PackageReference Include="Utilbox.Strings" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Utilbox.Strings --version 2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Utilbox.Strings, 2.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Utilbox.Strings@2.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Utilbox.Strings&version=2.1.0
#tool nuget:?package=Utilbox.Strings&version=2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Utilbox.Strings
A comprehensive string utility library for .NET applications that provides a wide range of string manipulation, validation, and casing transformation functions.
Features
String Manipulation
- Trim strings to specified length with ellipsis
- Safe substring extraction
- Remove whitespace
- Remove accents/diacritics
- Remove non-alphanumeric characters
- Multiple string replacements
- String reversal (full string and words)
String Validation
- Email validation
- Alphabetic character checking
- Numeric value validation
- Digit-only validation
- Palindrome checking
- URL validation
- Prefix/suffix checking
- ISBN validation (ISBN-10 and ISBN-13)
String Casing
- Title case conversion
- Camel case conversion
- Snake case conversion
- Kebab case conversion
- Pascal case conversion
Installation
Package Manager Console
Install-Package Utilbox.Strings
.NET CLI
dotnet add package Utilbox.Strings
Usage Examples
String Manipulation
// Trim with ellipsis
string longText = "This is a very long text that needs to be trimmed";
string trimmed = longText.TrimToLength(20); // Returns "This is a very long..."
// Safe substring
string text = "Hello World";
string safe = text.SafeSubstring(6, 5); // Returns "World"
// Remove whitespace
string spaced = "Hello World";
string compact = spaced.RemoveWhiteSpaces(); // Returns "HelloWorld"
// Remove accents
string accented = "café";
string plain = accented.RemoveAccents(); // Returns "cafe"
// Remove non-alphanumeric
string mixed = "Hello! @World#123";
string clean = mixed.RemoveNonAlphanumeric(); // Returns "HelloWorld123"
// Multiple replacements
var replacements = new Dictionary<string, string>
{
{ "Hello", "Hi" },
{ "World", "Earth" }
};
string text = "Hello World";
string replaced = text.ReplaceMultiple(replacements); // Returns "Hi Earth"
// Reverse string
string text = "Hello";
string reversed = text.Reverse(); // Returns "olleH"
// Reverse words
string text = "Hello World";
string reversed = text.ReverseWords(); // Returns "World Hello"
String Validation
// Email validation
bool isValidEmail = "user@example.com".IsValidEmail();
// Alphabetic check
bool isAlpha = "Hello".IsAlphabetic(); // true
bool isNotAlpha = "Hello123".IsAlphabetic(); // false
// Numeric validation
bool isNumeric = "123.45".IsNumeric(); // true
bool isNotNumeric = "123.45a".IsNumeric(); // false
// Digit-only check
bool isDigitsOnly = "12345".ContainsOnlyDigits(); // true
bool isNotDigitsOnly = "12345a".ContainsOnlyDigits(); // false
// Palindrome check
bool isPalindrome = "radar".IsPalindrome(); // true
bool isNotPalindrome = "hello".IsPalindrome(); // false
// URL validation
bool isValidUrl = "https://example.com".IsValidUrl();
// Prefix/suffix checking
bool startsWith = "Hello World".StartsWithAny("Hi", "Hello"); // true
bool endsWith = "Hello World".EndsWithAny("World", "Earth"); // true
// ISBN validation
bool isValidIsbn10 = "0-7475-3269-9".IsValidIsbn(); // true
bool isValidIsbn13 = "978-0-7475-3269-9".IsValidIsbn(); // true
String Casing
// Title case
string title = "hello world".ToTitleCase(); // Returns "Hello World"
// Camel case
string camel = "Hello World".ToCamelCase(); // Returns "helloWorld"
// Snake case
string snake = "HelloWorld".ToSnakeCase(); // Returns "hello_world"
// Kebab case
string kebab = "HelloWorld".ToKebabCase(); // Returns "hello-world"
// Pascal case
string pascal = "hello world".ToPascalCase(); // Returns "HelloWorld"
Requirements
- .NET Standard 2.0 or higher
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Runtime (>= 4.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.