Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何拆分字符串并为找到的每个已确定字符添加新行_C#_.net_String - Fatal编程技术网

C# 如何拆分字符串并为找到的每个已确定字符添加新行

C# 如何拆分字符串并为找到的每个已确定字符添加新行,c#,.net,string,C#,.net,String,例如: 我有这个: string commaSeparatedString = "124,45415,1212,4578,233,968,6865,32545,4545"; 我想为每4个找到的逗号添加一行 124-45415-1212-4578 233-968-6865-32545 4545 那么这个呢: string str = "124,45415,1212,4578,233,968,6865,32545,4545"; var result = string.Join("-", sss.

例如:

我有这个:

string commaSeparatedString = "124,45415,1212,4578,233,968,6865,32545,4545";
我想为每4个找到的逗号添加一行

124-45415-1212-4578
233-968-6865-32545
4545
那么这个呢:

string str = "124,45415,1212,4578,233,968,6865,32545,4545";
var result = string.Join("-", sss.Split(',').Select((c, index) => (index + 1) % 4 == 0 ?
                              c + Environment.NewLine : c));
只是别忘了先在using指令中添加:

using System.Linq;
那么这个呢:

string str = "124,45415,1212,4578,233,968,6865,32545,4545";
var result = string.Join("-", sss.Split(',').Select((c, index) => (index + 1) % 4 == 0 ?
                              c + Environment.NewLine : c));
只是别忘了先在using指令中添加:

using System.Linq;
试试这个:

const int batch = 4;
var target = "124,45415,1212,4578,233,968,6865,32545,4545";
var items = target.Split(',');
var results = new List<string>();

var continue = false;
var step = 0;
do
{
    var slide = items.Skip(step++ * batch).Take(batch);
    continue = slide.Count() == batch;
    results.Add(string.Join('-', slide));
}while(continue);
const int batch=4;
var target=“124454151212457823396865325454545”;
var items=target.Split(',');
var results=新列表();
var continue=false;
var阶跃=0;
做
{
var slide=项目。跳过(步骤+++*批处理)。获取(批处理);
continue=slide.Count()==batch;
结果.Add(string.Join('-',slide));
}同时(继续);
试试这个:

const int batch = 4;
var target = "124,45415,1212,4578,233,968,6865,32545,4545";
var items = target.Split(',');
var results = new List<string>();

var continue = false;
var step = 0;
do
{
    var slide = items.Skip(step++ * batch).Take(batch);
    continue = slide.Count() == batch;
    results.Add(string.Join('-', slide));
}while(continue);
const int batch=4;
var target=“124454151212457823396865325454545”;
var items=target.Split(',');
var results=新列表();
var continue=false;
var阶跃=0;
做
{
var slide=项目。跳过(步骤+++*批处理)。获取(批处理);
continue=slide.Count()==batch;
结果.Add(string.Join('-',slide));
}同时(继续);
给你:

using System;

namespace ConsoleApp
{
class Program
{
    static void Main(string[] args)
    {
        Console.Write(SplitOnChar("124,45415,1212,4578,233,968,6865,32545,4545",',',4));
        Console.ReadKey();
    }

    private static string SplitOnChar(string input, char theChar, int number)
    {
        string result = "";
        int seen = 0;
        int lastSplitIndex = 0;

        for(int i = 0; i< input.Length;i++)
        {
            char c = input[i];
            if (c.Equals(theChar))
            {
                seen++;
                if (seen == number)
                {
                    result += input.Substring(lastSplitIndex + 1, i - lastSplitIndex -1);
                    result += Environment.NewLine;
                    lastSplitIndex = i;
                    seen = 0;
                }
            }
        }

        result += input.Substring(lastSplitIndex + 1);
        result = result.Replace(theChar, '-');
        return result;
    }
}
}
使用系统;
名称空间控制台
{
班级计划
{
静态void Main(字符串[]参数)
{
Write(SplitOnChar(“1244541512124578233968686532545454545”,4));
Console.ReadKey();
}
私有静态字符串SplitOnChar(字符串输入、字符字符、整数)
{
字符串结果=”;
int=0;
int lastSplitIndex=0;
for(int i=0;i
给你:

using System;

namespace ConsoleApp
{
class Program
{
    static void Main(string[] args)
    {
        Console.Write(SplitOnChar("124,45415,1212,4578,233,968,6865,32545,4545",',',4));
        Console.ReadKey();
    }

    private static string SplitOnChar(string input, char theChar, int number)
    {
        string result = "";
        int seen = 0;
        int lastSplitIndex = 0;

        for(int i = 0; i< input.Length;i++)
        {
            char c = input[i];
            if (c.Equals(theChar))
            {
                seen++;
                if (seen == number)
                {
                    result += input.Substring(lastSplitIndex + 1, i - lastSplitIndex -1);
                    result += Environment.NewLine;
                    lastSplitIndex = i;
                    seen = 0;
                }
            }
        }

        result += input.Substring(lastSplitIndex + 1);
        result = result.Replace(theChar, '-');
        return result;
    }
}
}
使用系统;
名称空间控制台
{
班级计划
{
静态void Main(字符串[]参数)
{
Write(SplitOnChar(“1244541512124578233968686532545454545”,4));
Console.ReadKey();
}
私有静态字符串SplitOnChar(字符串输入、字符字符、整数)
{
字符串结果=”;
int=0;
int lastSplitIndex=0;
for(int i=0;i
看看
string.Split(',')
看看
string.Split(',')
你可以这样做:
string.Join(“”,str.Split(',')。选择((c,i)=>(i!=0)和((i+1)%4==0)?c+Environment.NewLine:c+“-”)
你可以这样做:
string.Join(“,str Split(',”)。Select((c,i)==0+1)%4)%?c+Environment.NewLine:c+“-”)