C# String Utils
Documenting a few simple string utils I created for an app recently
Be sure to resolve usings as needed
public static string SingleSpace(string str)
{
//replaces multiple spaces with one.
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(@"[ ]{2,}", options);
str = regex.Replace(str, @" ");
return str;
}
public static string SlashFlip(string source, int direction)
{
string returnVal = null;
if (direction == 0) //back
{
returnVal = source.Replace(@"/", @"\");
}
else if (direction == 1) //forward
{
returnVal = source.Replace(@"\", @"/");
}
return returnVal;
}
public static string SlashTrim(string str)
{
if (str.IndexOf(@"/") == 0 || str.IndexOf(@"\") == 0) //first char
{
str = str.Substring(1, str.Length - 1);
}
if (str.IndexOf(@"/") == str.Length || str.IndexOf(@"\") == str.Length) //last char
{
str = str.Substring(str.Length, 1);
}
return str;
}
public static string IdXml(string[] idArray)
{
string returnXml = null;
List ids = new List(); //list of id's for the XmlSerializer
foreach (string id in idArray)
{
ids.Add(Convert.ToInt64(id));
}
//create Xml doc from list to pass id's into sproc as a single param
XmlSerializer xs = new XmlSerializer(typeof(List));
MemoryStream ms = new MemoryStream();
xs.Serialize(ms, ids);
returnXml = UTF8Encoding.UTF8.GetString(ms.ToArray());
return returnXml;
}
public static string StripDomain(string userIdentityName)
{
//remove domain name and back slash if present
int i = userIdentityName.IndexOf(@"\");
if (i > -1) userIdentityName = userIdentityName.Remove(0, i + 1);
return userIdentityName;
}