This article brings a small collection of my more commonly used string extensions. For those who don’t know about extension methods, I suggest reading this short article.
Get the initials from a string
public static string ToInitials(this string str)
{
return Regex.Replace(str, @"^(?'b'w)w*,s*(?'a'w)w*$|^(?'a'w)w*s*(?'b'w)w*$", "${a}${b}", RegexOptions.Singleline)
}
Remove line breaks from string
public static string RemoveLineBreaks(this string lines)
{
return lines.Replace("r", "").Replace("n", "");
}
Replace line breaks in a string
public static string ReplaceLineBreaks(this string lines, string replacement)
{
return lines.Replace("rn", replacement)
.Replace("r", replacement)
.Replace("n", replacement);
}
Strip HTML syntax from a string
public static string StripHtml(this string html)
{
if (string.IsNullOrEmpty(html))
return string.Empty;
return Regex.Replace(html, @"<[^>]*>", string.Empty);
}
Pluralise a word
public static string Pluralise(this string value, int count)
{
if (count <= 1)
{
return value;
}
return PluralizationService
.CreateService(new CultureInfo("en-US"))
.Pluralize(value);
}
and then
Console.WriteLine(
"You have {0} {1} left", player.Lives, "life".Pluralise(player.Lives)
);
Get Suffix From Date
public static string GetDateSuffix(this DateTime date)
{
string day = date.Day.ToString();
if (day.EndsWith("1"))
{
return day.StartsWith("1") && date.Day != 1 ? "th" : "st";
}
else if (day.EndsWith("2"))
{
return day.StartsWith("1") ? "th" : "nd";
}
else if (day.EndsWith("3"))
{
return day.StartsWith("1") ? "th" : "rd";
}
return "th";
}
Add Working Days to Date
public static DateTime AddWeekdays(DateTime start, int days)
{
int remainder = days % 5;
int weekendDays = (days / 5) * 2;
DateTime end = start.AddDays(remainder);
if (start.DayOfWeek == DayOfWeek.Saturday && days > 0)
{
// fix for saturday.
end = end.AddDays(-1);
} if (end.DayOfWeek == DayOfWeek.Saturday && days > 0)
{
// add two days for landing on saturday
end = end.AddDays(2);
}
else if (end.DayOfWeek < start.DayOfWeek)
{
// add two days for rounding the weekend
end = end.AddDays(2);
}
// add the remaining days
return end.AddDays(days + weekendDays - remainder);
}
Like this:
Like Loading...