2014-09-22 64 views
-2

我有以下字符串:分割字符串成2 C#块

  string input ="this is a testx"; 

我需要把空格去掉,然后拆分输入两个大块,这样我就可以单独每两个字母的过程:

th的是在ES TX

我试图与删除空格:

input=input.Remove(input.IndexOf(' '),1); 

Ť母鸡我不能做与分裂...

+0

什么代码中有你试过吗?你是否收到异常或不正确的结果? – 2014-09-22 00:25:22

+2

问题是什么? – Dmitry 2014-09-22 00:25:33

回答

4
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); 
} 
+2

那一刻,当2行'for'换成5行LINQ时:-) – zerkms 2014-09-22 00:28:30

+0

我对编程相对比较陌生,我从来没有用过LINQ之前:( 我不懂整个代码 – WaelT 2014-09-22 00:31:51

+0

@zerkms我遇到过我希望我的第二种方法可以弥补:-) – spender 2014-09-22 00:33:37