IvanStoychev.Useful.String.Extensions
2.0.1
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package IvanStoychev.Useful.String.Extensions --version 2.0.1
NuGet\Install-Package IvanStoychev.Useful.String.Extensions -Version 2.0.1
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="IvanStoychev.Useful.String.Extensions" Version="2.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IvanStoychev.Useful.String.Extensions --version 2.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: IvanStoychev.Useful.String.Extensions, 2.0.1"
#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.
// Install IvanStoychev.Useful.String.Extensions as a Cake Addin #addin nuget:?package=IvanStoychev.Useful.String.Extensions&version=2.0.1 // Install IvanStoychev.Useful.String.Extensions as a Cake Tool #tool nuget:?package=IvanStoychev.Useful.String.Extensions&version=2.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Source and debug symbols embedded
(You can step through this package's code during debug)
What is this?
A library of extension methods for the string
class that make work with text easier.
How do I get started?
Add using IvanStoychev.Useful.String.Extensions;
And call methods on any string.
Video Demonstration
(Will open in YouTube)
Examples:
Remove all occurrences of a collection of strings
string testString = "To buy: Eggs. eggs. Jam. Ham. Milk. ham. Bread. Bread";
List<string> stringsToRemove = new() { "Eggs. ", "Ham. ", ". Bread" };
string outputDefault = testString.Remove(stringsToRemove);
string outputIgnoreCase = testString.Remove(stringsToRemove, StringComparison.InvariantCultureIgnoreCase);
Console.WriteLine(outputDefault);
Console.WriteLine(outputIgnoreCase);
// Result
// ------
// outputDefault = "To buy: eggs. Jam. Milk. ham"
// outputIgnoreCase = "To buy: Jam. Milk"
.
Replace all occurrences of a collection of strings with another string
string testString = "Gold. Gems. Jewels. Trinkets. More gems. More jewels!";
List<string> oldStrings = new() { "Gems", "Jewels", "Trinkets" };
string outputDefault = testString.Replace("gold", oldStrings);
string outputIgnoreCase = testString.Replace("gold", oldStrings, StringComparison.InvariantCultureIgnoreCase);
Console.WriteLine(outputDefault);
Console.WriteLine(outputIgnoreCase);
// Result
// ------
// outputDefault = "Gold. gold. gold. gold. More gems. More jewels!"
// outputIgnoreCase = "Gold. gold. gold. gold. More gold. More gold!"
.
Select everything between two substrings
string testString = "We start on Monday and we finish on Tuesday.";
string startString = "start on ";
string endString = " and we finish";
string outputDefault = testString.Substring(startString, endString);
string outputFull = testString.Substring(startString, endString, StringInclusionOptions.IncludeAll);
Console.WriteLine(outputDefault);
Console.WriteLine(outputFull);
// Result
// ------
// outputDefault = "Monday"
// outputFull = "start on Monday and we finish"
.
Select everything after/before a substring
string testString = "In the beginning there was bread. In the end there was jam.";
string startString = "bread. ";
string endString = " In the end";
string outputStart = testString.SubstringStart(endString);
string outputEnd = testString.SubstringEnd(startString);
Console.WriteLine(outputStart);
Console.WriteLine(outputEnd);
// Result
// ------
// outputStart = "In the beginning there was bread."
// outputEnd = "In the end there was jam."
.
All methods have a detailed summary. For a complete list of all methods in the library and details on them consult the wiki.
Feel free to submit any issues or bugs to the project's GitHub issues page. You are welcome to follow my projects twitter.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
💜 Fixed debug symbols not being embedded in the package.