应无所住,而生其心
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

c# 根据数字拆分字符串

9372人阅读 2019/2/6 19:19 总访问:4699970 评论:0 收藏:0 手机
分类: .NET


c# 根据数字拆分字符串,例如传一个2就可以把字符串2位2位的拆分出来

   /// <summary>
        /// 根据数字拆分字符串
        /// </summary>
        /// <param name="key">需要拆分的字符串</param>
        /// <param name="n">需要按几位拆分(一次取多少位)</param>
        /// <returns></returns>
        public List<string> SplitByNum(string key, int n)
        {

            List<string> keyword = new List<string>();

            int length = key.Length;
            //如果能除尽(就刚好n位n位的取可以取完)
            if (length % n == 0)
            {
                for (int i = 0; i < length / n; i++)
                {
                    keyword.Add(key.Substring(n * i, n));
                }
            }
            else
            {
                int mod = length % n;//取出余数,最后一次取的时候用
                for (int i = 0; i <= length / n; i++)
                {
                    if (i == length / n)
                    {
                        keyword.Add(key.Substring(n * i, mod));
                    }
                    else
                    {
                        keyword.Add(key.Substring(n * i, n));
                    }
                }
            }
            return keyword;
        }

测试一下根据2位来拆分:

 string key = "Net Core使用EF之DB First";
 List<string> keyword = SplitByNum(key, 2);

根据3位来拆分:

string key = "Net Core使用EF之DB First";
List<string> keyword = SplitByNum(key, 3);


当然这样写效率不会太高,我们可以使用先把字符串变成字符数组后在进行组合





欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739

评价