C# 将字符串拆分为2个C的块#
我有以下字符串:C# 将字符串拆分为2个C的块#,c#,string,C#,String,我有以下字符串: string input ="this is a testx"; 我需要删除空格,然后将输入分成两块,这样我就可以分别处理每两个字母: 这是在es tx 我尝试用以下方法删除空格: input=input.Remove(input.IndexOf(' '),1); 然后我就没法做很多事情了 你试过什么代码?您是否得到异常或不正确的结果?问题是什么?当2行for被5行LINQ:-)替换时,我对编程比较陌生,以前从未使用过LINQ:)我不明白全部code
string input ="this is a testx";
我需要删除空格,然后将输入分成两块,这样我就可以分别处理每两个字母:
这是在es tx
我尝试用以下方法删除空格:
input=input.Remove(input.IndexOf(' '),1);
然后我就没法做很多事情了 你试过什么代码?您是否得到异常或不正确的结果?问题是什么?当2行
for
被5行LINQ:-)替换时,我对编程比较陌生,以前从未使用过LINQ:)我不明白全部code@zerkms当我看到你的评论时,我经历了一个自我wtf的时刻!希望我的第二种方法能够在深度上进行修正:-)-它是一种将项目序列作为参数的方法。然后,对于序列中的每个项目,它调用由x=>input.Substring(x*2,2)定义的第二个参数
将序列中的每个项目作为参数x
提供给lambda。lambda的返回值被投影到新序列中,并由Select
返回。如果仍然没有意义,请阅读此注释中的链接。@WaelT:我添加了一点。
IEnumerable<string> output = input
.Replace(" ", string.Empty)
.Select((ch, i) => new{ch, grp = i/2})
.GroupBy(x => x.grp)
.Select(g => string.Concat(g.Select(x => x.ch)));
input = input.Replace(" ", string.Empty);
IEnumerable<string> output =
Enumerable.Range(0, input.Length / 2).Select(x => input.Substring(x * 2, 2));
foreach(var item in output)
{
Console.WriteLine(item);
}