C# visual studio按照指定长度切分(分割)字符串导出数组

按照指定长度切分字符串导出数组

公有示例参数变量,正则表达匹配符合字符


        string small = "1234567890abcde的劳动法的空间啦拉客服1234567890ABCDe";
        //正则替换掉不属于十六进制字符
        small = Regex.Replace(small, "[^a-fA-F0-9]", "");
        //切分长度
        int pageSize = 2;
        //初始化列表
       var array0 = new List<string>();
        var array1 = new List<string>();

方法一

  var pageCount = (int)Math.Ceiling(1.0 * small.Length / pageSize);

        for (int i = 0; i < pageCount; i++)
        {
            //字符串操作形式
            //跳过指定数量元素,返回剩余元素;从头开始返回指定数量的元素
            var bb = small.Skip(i * pageSize).Take(pageSize).ToArray();
            //添加到列表
            array0.Add(new string(bb));
            
        }
       string [] s0 =  array0.ToArray();

例如:small =“1234567”时
输出数组s0为 12 34 56 7数组长度为7

方法二

int k = 0;
    while (small.Length > k)
    {
        //检索字符串;                    ;返回最小值
        var str = small.Substring(k, Math.Min(pageSize, small.Length - k));
        //添加到列表
        array1.Add(str);
        //步进分割长度
        k = k + pageSize;
    }

例如:small =“1234567”时
输出数组为 12 34 56 7数组长度为7

方法三 利用正则表达式匹配项切分字符串,单是会损失单字符

  //正则表达匹配项集合
        MatchCollection matchCollection= Regex.Matches(small, @"\w{" + 2 + "}");
        //正则表达式结果,将序列中的每个元素(正则表达式匹配集合)投影到新表单
        string[] ARr= matchCollection.Cast<Match>().Select(m => m.Groups[0].Value).ToArray();

例如:small =“1234567”时
输出数组为 12 34 56 数组长度为3

//以%分割字符串,并去掉空字符

//以%分割字符串,并去掉空字符
   string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值