C#のは、切り捨てられた文字列の省略記号を達成します

/// <summary>
        /// 横20文字×縦10行=200文字(最大)を表示する。
        /// </summary>
        /// <param name="inStr">入力文字</param>
        /// <param name="findStr">ハイライト文字</param>
        /// <param name="maxLength">最大表示文字数</param>
        /// <returns>省略符号を追加の結果</returns>
        public static string getSubString(string inStr, string findStr, int maxLength)
        {

            //確認1234567890 ⇒ 確認1234567...
            //12345確認67890 ⇒ 12345確認67...
            //1234567890確認 ⇒ ...4567890確認
            //1確認234567890 ⇒ 1確認234567...
            //123456789確認0 ⇒ ...3456789確認0

            INTインデックス= inStr.IndexOf(FINDSTR)。
            INT =インデックスを開始-のmaxLength / 2;
            INT端=指数+ maxLengthの/ 2。
            int型inStrLength = inStr.Length。
            文字列outStr = "";
            試す
            {
                IF(maxLengthの> = inStrLength)
                {
                    outStr = INSTR。
                }
                そうであれば(開始<= 0 &&端<inStrLength)
                {
                    outStr = inStr.Substring(0、maxLengthの- 1)+ "..."。
                }
                他の場合(> 0 &&端<inStrLength開始)
                {
                    outStr = "..." + inStr.Substring(1 + maxLengthのを開始- 2)+ "..."。
                }
                そうでなければ(> 0 &&エンド> = inStrLength開始)であれば
                {
                    outStr = "..." + inStr.Substring(inStrLength - maxLengthの+ 1)。
                }
                他
                {
                    // IF(intStrLength <= maxLengthの)
                    outStr = INSTR。
                }
            }
            キャッチ
            {
                outStr = INSTR。
            }
            戻りoutStr。
        }

おすすめ

転載: blog.csdn.net/wxmwzz/article/details/90760501