public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
            {
                return(null);
            }

            if (value.Length == 0)
            {
                return(value);
            }

            if (truncationString == null)
            {
                truncationString = string.Empty;
            }

            if (truncationString.Length > length)
            {
                return(truncateFrom == TruncateFrom.Right ? value.Substring(0, length) : value.Substring(value.Length - length));
            }

            var alphaNumericalCharactersProcessed = 0;

            if (value.ToCharArray().Count(char.IsLetterOrDigit) <= length)
            {
                return(value);
            }

            if (truncateFrom == TruncateFrom.Left)
            {
                for (var i = value.Length - 1; i > 0; i--)
                {
                    if (char.IsLetterOrDigit(value[i]))
                    {
                        alphaNumericalCharactersProcessed++;
                    }

                    if (alphaNumericalCharactersProcessed + truncationString.Length == length)
                    {
                        return(truncationString + value.Substring(i));
                    }
                }
            }

            for (var i = 0; i < value.Length - truncationString.Length; i++)
            {
                if (char.IsLetterOrDigit(value[i]))
                {
                    alphaNumericalCharactersProcessed++;
                }

                if (alphaNumericalCharactersProcessed + truncationString.Length == length)
                {
                    return(value.Substring(0, i + 1) + truncationString);
                }
            }

            return(value);
        }
        /// <summary>
        /// Truncate a string
        /// </summary>
        /// <param name="value">The string to truncate</param>
        /// <param name="length">The length to truncate to</param>
        /// <param name="truncationString">The string used to truncate with</param>
        /// <param name="truncateFrom">The enum value used to determine from where to truncate the string</param>
        /// <returns>The truncated string</returns>
        public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
            {
                return(null);
            }

            if (value.Length == 0)
            {
                return(value);
            }

            if (truncationString == null || truncationString.Length > length)
            {
                return(truncateFrom == TruncateFrom.Right
                    ? value.Substring(0, length)
                    : value.Substring(value.Length - length));
            }


            if (truncateFrom == TruncateFrom.Left)
            {
                return(value.Length > length
                    ? truncationString + value.Substring(value.Length - length + truncationString.Length)
                    : value);
            }

            return(value.Length > length
                ? value.Substring(0, length - truncationString.Length) + truncationString
                : value);
        }
Ejemplo n.º 3
0
 // Token: 0x0600010E RID: 270 RVA: 0x00003C9C File Offset: 0x00001E9C
 public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
 {
     if (value == null)
     {
         return(null);
     }
     if (value.Length == 0)
     {
         return(value);
     }
     if (truncationString == null)
     {
         truncationString = string.Empty;
     }
     if (truncationString.Length > length)
     {
         if (truncateFrom != TruncateFrom.Right)
         {
             return(value.Substring(value.Length - length));
         }
         return(value.Substring(0, length));
     }
     else
     {
         int alphaNumericalCharactersProcessed = 0;
         if (value.ToCharArray().Count(new Func <char, bool>(char.IsLetterOrDigit)) <= length)
         {
             return(value);
         }
         if (truncateFrom == TruncateFrom.Left)
         {
             for (int i = value.Length - 1; i > 0; i--)
             {
                 if (char.IsLetterOrDigit(value[i]))
                 {
                     alphaNumericalCharactersProcessed++;
                 }
                 if (alphaNumericalCharactersProcessed + truncationString.Length == length)
                 {
                     return(truncationString + value.Substring(i));
                 }
             }
         }
         for (int j = 0; j < value.Length - truncationString.Length; j++)
         {
             if (char.IsLetterOrDigit(value[j]))
             {
                 alphaNumericalCharactersProcessed++;
             }
             if (alphaNumericalCharactersProcessed + truncationString.Length == length)
             {
                 return(value.Substring(0, j + 1) + truncationString);
             }
         }
         return(value);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Truncate the string
        /// </summary>
        /// <param name="input">The string to be truncated</param>
        /// <param name="length">The length to truncate to</param>
        /// <param name="truncationString">The string used to truncate with</param>
        /// <param name="truncator">The truncator to use</param>
        /// <param name="from">The enum value used to determine from where to truncate the string</param>
        /// <returns>The truncated string</returns>
        public static string Truncate(this string input, int length, string truncationString, ITruncator truncator, TruncateFrom from = TruncateFrom.Right)
        {
            if (truncator == null)
                throw new ArgumentNullException("truncator");

            if (input == null)
                return null;

            return truncator.Truncate(input, length, truncationString, from);
        }
        public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
                return null;

            if (value.Length == 0)
                return value;

            var numberOfWords = value.Split((char[])null, StringSplitOptions.RemoveEmptyEntries).Count();
            if (numberOfWords <= length)
                return value;

            return truncateFrom == TruncateFrom.Left
                ? TruncateFromLeft(value, length, truncationString)
                : TruncateFromRight(value, length, truncationString);
        }
        public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
                return null;

            if (value.Length == 0)
                return value;

            if (truncationString == null)
                truncationString = string.Empty;

            if (truncationString.Length > length)
                return truncateFrom == TruncateFrom.Right ? value.Substring(0, length) : value.Substring(value.Length - length);

            var alphaNumericalCharactersProcessed = 0;

            if (value.ToCharArray().Count(char.IsLetterOrDigit) <= length)
                return value;

            if (truncateFrom == TruncateFrom.Left)
            {
                for (var i = value.Length - 1; i > 0; i--)
                {
                    if (char.IsLetterOrDigit(value[i]))
                        alphaNumericalCharactersProcessed++;

                    if (alphaNumericalCharactersProcessed + truncationString.Length == length)
                        return truncationString + value.Substring(i);
                }
            }

            for (var i = 0; i < value.Length - truncationString.Length; i++)
            {
                if (char.IsLetterOrDigit(value[i]))
                    alphaNumericalCharactersProcessed++;

                if (alphaNumericalCharactersProcessed + truncationString.Length == length)
                    return value.Substring(0, i + 1) + truncationString;
            }

            return value;
        }
 // Token: 0x06000110 RID: 272 RVA: 0x00003D97 File Offset: 0x00001F97
 public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
 {
     if (value == null)
     {
         return(null);
     }
     if (value.Length == 0)
     {
         return(value);
     }
     if (value.Split(null, StringSplitOptions.RemoveEmptyEntries).Count <string>() <= length)
     {
         return(value);
     }
     if (truncateFrom != TruncateFrom.Left)
     {
         return(FixedNumberOfWordsTruncator.TruncateFromRight(value, length, truncationString));
     }
     return(FixedNumberOfWordsTruncator.TruncateFromLeft(value, length, truncationString));
 }
Ejemplo n.º 8
0
        public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
                return null;

            if (value.Length == 0)
                return value;

            if (truncationString == null || truncationString.Length > length)
                return truncateFrom == TruncateFrom.Right
                    ? value.Substring(0, length)
                    : value.Substring(value.Length - length);

            if (truncateFrom == TruncateFrom.Left)
                return value.Length > length
                    ? truncationString + value.Substring(value.Length - length + truncationString.Length)
                    : value;

            return value.Length > length
                ? value.Substring(0, length - truncationString.Length) + truncationString
                : value;
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Truncate a string
        /// </summary>
        /// <param name="value">The string to truncate</param>
        /// <param name="length">The length to truncate to</param>
        /// <param name="truncationString">The string used to truncate with</param>
        /// <param name="truncateFrom">The enum value used to determine from where to truncate the string</param>
        /// <returns>The truncated string</returns>
        public string Truncate(string value, int length, string truncationString, TruncateFrom truncateFrom = TruncateFrom.Right)
        {
            if (value == null)
            {
                return(null);
            }

            if (value.Length == 0)
            {
                return(value);
            }

            var numberOfWords = value.Split((char[])null, StringSplitOptions.RemoveEmptyEntries).Count();

            if (numberOfWords <= length)
            {
                return(value);
            }

            return(truncateFrom == TruncateFrom.Left
                ? TruncateFromLeft(value, length, truncationString)
                : TruncateFromRight(value, length, truncationString));
        }
 // Token: 0x0600010B RID: 267 RVA: 0x00003BE4 File Offset: 0x00001DE4
 public static string Truncate(this string input, int length, string truncationString, ITruncator truncator, TruncateFrom from = TruncateFrom.Right)
 {
     if (truncator == null)
     {
         throw new ArgumentNullException("truncator");
     }
     if (input == null)
     {
         return(null);
     }
     return(truncator.Truncate(input, length, truncationString, from));
 }
 // Token: 0x0600010A RID: 266 RVA: 0x00003BD4 File Offset: 0x00001DD4
 public static string Truncate(this string input, int length, string truncationString, TruncateFrom from = TruncateFrom.Right)
 {
     return(input.Truncate(length, truncationString, Truncator.FixedLength, from));
 }
 // Token: 0x06000109 RID: 265 RVA: 0x00003BC4 File Offset: 0x00001DC4
 public static string Truncate(this string input, int length, ITruncator truncator, TruncateFrom from = TruncateFrom.Right)
 {
     return(input.Truncate(length, "…", truncator, from));
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Truncate the string
 /// </summary>
 /// <param name="input">The string to be truncated</param>
 /// <param name="length">The length to truncate to</param>
 /// <param name="truncationString">The string used to truncate with</param>
 /// <param name="from">The enum value used to determine from where to truncate the string</param>
 /// <returns>The truncated string</returns>
 public static string Truncate(this string input, int length, string truncationString, TruncateFrom from = TruncateFrom.Right)
 {
     return input.Truncate(length, truncationString, Truncator.FixedLength, from);
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Truncate the string
 /// </summary>
 /// <param name="input">The string to be truncated</param>
 /// <param name="length">The length to truncate to</param>
 /// <param name="truncator">The truncate to use</param>
 /// <param name="from">The enum value used to determine from where to truncate the string</param>
 /// <returns>The truncated string</returns>
 public static string Truncate(this string input, int length, ITruncator truncator, TruncateFrom from = TruncateFrom.Right)
 {
     return input.Truncate(length, "…", truncator, from);
 }