A library of extension methods for the string class that make work with text easier.
Add using IvanStoychev.Useful.String.Extensions;
And call methods on any string.
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"
.
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!"
.
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"
.
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.

