c # achieve truncated string ellipsis

/// <summary>
        Show /// Horizontal 20 characters × 10 vertical rows = 200 characters (maximum).
        /// </ Summary>
        /// <Param Name = "InStr"> input character </ Param>
        /// <Param Name = "FindStr"> highlight character </ Param>
        /// <Param Name = " maxLength "> maximum number of display characters </ Param>
        /// <Returns> ellipsis the result of the add </ Returns>
        Public Static String GetSubString (String InStr, String FindStr, Int MaxLength)
        {

            // confirmation 1234567890 ⇒ confirmation 1234567 ...
            // 12345 confirmation 67890 ⇒ 12345 confirmed 67 ...
            // 1234567890 confirmation ⇒ ... 4567890 confirmation
            // 1 confirmation 234567890 ⇒ 1 confirmation 234567 ...
            // 123456789 confirmation 0 ⇒ ... 3456789 confirmation 0

            int index = inStr.IndexOf(findStr);
            int start = index - maxLength / 2;
            int end = index + maxLength / 2;
            int inStrLength = inStr.Length;
            string outStr = "";
            try
            {
                if (maxLength >= inStrLength)
                {
                    outStr = inStr;
                }
                else if (start <= 0 && end < inStrLength)
                {
                    outStr = inStr.Substring(0, maxLength - 1) + "...";
                }
                else if (start > 0 && end < inStrLength)
                {
                    outStr = "..." + inStr.Substring(start + 1, maxLength - 2) + "...";
                }
                else if (start > 0 && end >= inStrLength)
                {
                    outStr = "..." + inStr.Substring(inStrLength - maxLength + 1);
                }
                else
                {
                    //if (intStrLength <= maxLength)
                    outStr = inStr;
                }
            }
            catch
            {
                outStr = inStr;
            }
            return outStr;
        }

Guess you like

Origin blog.csdn.net/wxmwzz/article/details/90760501