自定义截取数,截取字符串,返回字符串数组。

今天早上一个朋友请教我给一串字符串,截取数(比如3,截取数可自定义)  每3个截取一次,截取到后面小于3位的一样保留到字符串数组里。

想了一下 写了一个通用方法,记录一下,给有用的朋友参考(不喜勿喷,如有更优方案的小伙伴希望能留言指导一下):

 static void Main(string[] args)
        {
            string d = "努力的人最有魅力";
            var o= reback(d,3);
            Console.ReadLine();
        }
        public static List<string>  reback(string str,int first)
        {
            String shortstr=string.Empty, longstr = string.Empty;
            List<string> arr = new List<string>();
            if (string.IsNullOrWhiteSpace(str))
            {
                return arr;
            }else
            {
                var len = str.Length;
                var intAv = str.Length / first;
                if(len % first != 0){
                    intAv = intAv + 1;
                }
                var intC = first;
                for (int i = 0; i < intAv; i++)
                {
                    if(i == intAv-1||intC <= len)
                    {
                        if (i != 0)
                        {
                            if (i == intAv-1)
                            {
                                var o = str.Substring(intC, len -intC);
                                if (!string.IsNullOrWhiteSpace(o))
                                {
                                    arr.Add(o);
                                }
                            }
                            else
                            {
                                arr.Add(str.Substring(intC, first));
                            }
                            intC = intC+first;
                        }
                        else
                        {
                            arr.Add(str.Substring(0, first));
                        }
                    }
                  
                }
            }
            return arr;
        }

 

posted @ 2018-12-17 11:28  多加些蜂蜜  阅读(949)  评论(0编辑  收藏  举报