public static string[] TokenizeToStringArray(string value, string delimiters,
bool trimTokens = true, bool ignoreEmptyTokens = true)
{
if (value == null)
{
return null;
}
var options = ignoreEmptyTokens ? StringSplitOptions.RemoveEmptyEntries : StringSplitOptions.None;
var tokens = value.Split(value.ToCharArray(), options);
if (trimTokens)
{
var accepted = new List<string>(tokens.Length);
foreach (var token in tokens)
{
var tweaked = token.Trim();
if (!ignoreEmptyTokens || tweaked.Length > 0)
{
accepted.Add(tweaked);
}
}
tokens = accepted.ToArray();
}
return tokens;
}