117 lines
2.7 KiB
C#
117 lines
2.7 KiB
C#
|
|
using System.Globalization;
|
|
using System.IO;
|
|
|
|
public static class TestStringExtension
|
|
{
|
|
public static bool ContainsEx(this string instance, string value)
|
|
{
|
|
if (instance != null && value != null)
|
|
return instance.Contains(value);
|
|
|
|
return false;
|
|
}
|
|
|
|
public static bool StartsWithEx(this string instance, string value)
|
|
{
|
|
if (instance != null && value != null)
|
|
return instance.StartsWith(value);
|
|
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static class ConvertToStringExtension
|
|
{
|
|
public static string ToUpperEx(this string instance)
|
|
{
|
|
if (instance != null)
|
|
return instance.ToUpperInvariant();
|
|
|
|
return "";
|
|
}
|
|
|
|
public static string ToLowerEx(this string instance)
|
|
{
|
|
if (instance != null)
|
|
return instance.ToLowerInvariant();
|
|
|
|
return "";
|
|
}
|
|
|
|
public static string TrimEx(this string instance)
|
|
{
|
|
if (instance == null)
|
|
return "";
|
|
|
|
return instance.Trim();
|
|
}
|
|
}
|
|
|
|
public static class ConvertStringExtension
|
|
{
|
|
public static int ToInt(this string instance)
|
|
{
|
|
int.TryParse(instance, out int result);
|
|
return result;
|
|
}
|
|
|
|
public static float ToFloat(this string instance)
|
|
{
|
|
float.TryParse(instance.Replace(",", "."), NumberStyles.Float,
|
|
CultureInfo.InvariantCulture, out float result);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public static class PathStringExtension
|
|
{
|
|
// return extension with lower case and without dot.
|
|
public static string Ext(this string instance)
|
|
{
|
|
if (instance == null)
|
|
return "";
|
|
|
|
return Path.GetExtension(instance).TrimStart('.').ToLower();
|
|
}
|
|
|
|
public static string FileName(this string instance)
|
|
{
|
|
if (string.IsNullOrEmpty(instance))
|
|
return "";
|
|
|
|
int index = instance.LastIndexOf('\\');
|
|
|
|
if (index > -1)
|
|
return instance.Substring(index + 1);
|
|
|
|
index = instance.LastIndexOf('/');
|
|
|
|
if (index > -1)
|
|
return instance.Substring(index + 1);
|
|
|
|
return instance;
|
|
}
|
|
|
|
// Ensure trailing directory separator char
|
|
public static string AddSep(this string instance)
|
|
{
|
|
if (string.IsNullOrEmpty(instance))
|
|
return "";
|
|
|
|
if (!instance.EndsWith(Path.DirectorySeparatorChar.ToString()))
|
|
instance = instance + Path.DirectorySeparatorChar;
|
|
|
|
return instance;
|
|
}
|
|
|
|
public static bool IsIdenticalFolder(this string instance, string testFolder)
|
|
{
|
|
if (string.IsNullOrEmpty(instance) || string.IsNullOrEmpty(testFolder))
|
|
return false;
|
|
|
|
return instance.ToLowerInvariant().AddSep() == testFolder.ToLowerInvariant().AddSep();
|
|
}
|
|
}
|