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+“-”)