字符串的分割问题

月关关 2017-09-21 11:43:06
  string str7 = Judgement_frf(dataGridView1.Rows[0].Cells[0].Value.ToString());
feirenfang.SetCellValue(str7);
上述为输出的字符串,输出效果如下现在想把这个字符串按照每6组分割一次然后分别存入新的字符串里面,有什么好的方法吗?
...全文
253 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
string txt = "123-123;45-123;123-123;45-123;123-123;45-123;1234-123;455-123;123-123;45-123;123-123;45-123;45-123;";
foreach (var s in Regex.Split(txt, @"(?<=^(?:(?:\d+\-\d+;){6})+)"))
{
    Console.WriteLine(s);
}
  • 打赏
  • 举报
回复
可以;分组号,然后通过linq分页组合 也可以直接用正则
Regex.Matches(txt,@"(\d+\-\d+;){6}")
cancerser 2017-09-21
  • 打赏
  • 举报
回复
方法如一楼

如果看不懂正则,就按逗号分隔,然后每6个组合就好
ilikeff8 2017-09-21
  • 打赏
  • 举报
回复
如果对正则不熟,直接简单的循环一下就可以了,不要想复杂了
        {
            string s = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
            List<string> result = new List<string>();
            int i = 0;
            string temp=string.Empty;

            foreach(var v in s.Split(','))
            {
                if (++i<=6)
                {
                    temp += v;
                }
                else
                {
                    i = 0;
                    result.Add(temp);
                    temp = string.Empty;
                }
            }

            if (temp!=string.Empty)
            {
                result.Add(temp);
            }
SpringHgui 2017-09-21
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
string txt = "123-123;45-123;123-123;45-123;123-123;45-123;1234-123;455-123;123-123;45-123;123-123;45-123;45-123;";
foreach (var s in Regex.Split(txt, @"(?<=^(?:(?:\d+\-\d+;){6})+)"))
{
    Console.WriteLine(s);
}
正解

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧