generated from Integry/Template_NetMauiBlazorHybrid
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using System.Globalization;
|
|
|
|
namespace Template.Shared.Core.Utility;
|
|
|
|
public static class UtilityString
|
|
{
|
|
public static string ExtractInitials(string fullname)
|
|
{
|
|
return string.Concat(fullname
|
|
.Split(' ', StringSplitOptions.RemoveEmptyEntries)
|
|
.Take(3)
|
|
.Select(word => char.ToUpper(word[0])));
|
|
}
|
|
|
|
public static string FirstCharToUpper(this string input) =>
|
|
input switch
|
|
{
|
|
null => throw new ArgumentNullException(nameof(input)),
|
|
"" => throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input)),
|
|
_ => input[0].ToString().ToUpper() + input[1..]
|
|
};
|
|
|
|
public static (string Upper, string Lower, string SentenceCase, string TitleCase) FormatString(string input)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(input))
|
|
return (string.Empty, string.Empty, string.Empty, string.Empty);
|
|
|
|
var upper = input.ToUpper();
|
|
var lower = input.ToLower();
|
|
|
|
var sentenceCase = char.ToUpper(lower[0]) + lower[1..];
|
|
|
|
var textInfo = CultureInfo.CurrentCulture.TextInfo;
|
|
var titleCase = textInfo.ToTitleCase(lower);
|
|
|
|
return (upper, lower, sentenceCase, titleCase);
|
|
}
|
|
} |