Apache.Shiro.Util.StringUtils.TokenizeToStringArray C# (CSharp) Method

TokenizeToStringArray() public static method

public static TokenizeToStringArray ( string value, string delimiters, bool trimTokens = true, bool ignoreEmptyTokens = true ) : string[]
value string
delimiters string
trimTokens bool
ignoreEmptyTokens bool
return string[]
        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;
        }

Usage Example

Ejemplo n.º 1
0
        public string ExtractPathWithinPattern(string pattern, string path)
        {
            string[] patternParts = StringUtils.TokenizeToStringArray(pattern, PathSeparator);
            string[] pathParts    = StringUtils.TokenizeToStringArray(path, PathSeparator);

            var builder = new StringBuilder();

            var puts = 0;

            for (var i = 0; i < patternParts.Length; ++i)
            {
                var part = patternParts[i];
                if ((part.Contains("*") || part.Contains("?")) && pathParts.Length >= (i + 1))
                {
                    if (puts > 0 || (i == 0 && !pattern.StartsWith(PathSeparator)))
                    {
                        builder.Append(PathSeparator);
                    }
                    builder.Append(pathParts[i]);
                    ++puts;
                }
            }

            for (var i = patternParts.Length; i < pathParts.Length; ++i)
            {
                if (puts > 0 || i > 0)
                {
                    builder.Append(PathSeparator);
                }
                builder.Append(pathParts[i]);
            }

            return(builder.ToString());
        }
All Usage Examples Of Apache.Shiro.Util.StringUtils::TokenizeToStringArray