C语言辅导:SubString()功能扩展实例
来源:优易学  2011-1-15 16:23:40   【优易学:中国教育考试门户网】   资料下载   IT书店

首先我们来看2个需要用到SubString()的地方:

1、 在C#中,我们时常需要缩减字符,并且用"..."取代被缩减的部分,通常我们使用的是(string).SubString(),然后我们可以这样缩减:


str = (str.Length>10)? str.SubString(0,10)+"..." : str ;
    这样的写好处是比较容易想到,且简要易懂,便于编写。
    这样写的不足是格式比较生硬,不便于复用,编写效率低。

2、 我在开发一些项目的时候,还经常有这样的需求:一个N长度的字符串,要取末尾的几个字符,或者中间指定起始和结尾的一段字符,其余的用"..."表示,这时候往往需要比较复杂的判断,最后用一个(string).SubString()。

    下面我提供一种可以同时解决灵活性和繁琐判断的解决方案,希望可以抛砖引玉:

 1        /**//// <summary>
 2        /// 区字符串固定长度,其余的省略
 3        /// 
 4        /// 规则:
 5        ///  1.如果startIndex大于字符串长度,则自动调整到取最后maxLangth长度。如果此时maxLangth长度比字符串长度还要大,那么startIndex回到0
 6        ///  2.如果在startIndex基础上,取maxLangth长度大于比字符串长度,那么maxLangth自动取到可能的最大值,即从startIndex一直取到字符串末尾
 7        ///  3.结果中,字符串只要有削减的地方,都以".."替代
 8        /// </summary>
 9        /// <param name="str">原字符串</param>
10        /// <param name="startIndex">起始字符串位置</param>
11        /// <param name="maxLangth">最长字符个数</param>
12        /// <returns></returns>
13        public static string SubString(string str, int startIndex, int maxLangth)
14        {
15            string substring = "";
16
17            //调整startIndex
18            if (startIndex > str.Length - 1)//如果startIndex大于字符串长度

[1] [2] [3] 下一页

责任编辑:虫虫

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训