【问题标题】:Remove spaces in the string array删除字符串数组中的空格
【发布时间】:2013-04-14 18:05:46
【问题描述】:

我有一个包含这种格式数字的文本文件:

84  152  100       
86  149   101     
83   149   99    
86  142   101 

我怎样才能去掉空格并把它变成这个形状:

84 152 100       
86 149 101     
83 149 99    
86 142 101  

这是我迄今为止尝试过的:

string path = Directory.GetCurrentDirectory();
string[] lines = System.IO.File.ReadAllLines(@"data_1_2.txt");
string[] line = lines[0].Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);

但是这个输入的结果是:

84
152
100

【问题讨论】:

  • 到目前为止您尝试过任何东西吗?

标签: c# arrays


【解决方案1】:

使用一点 LINQ 魔法:

lines = lines.Select(l => String.Join(" ", l.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))).ToArray();

它将使用空格作为分隔符分割每一行,删除空条目并再次使用空格作为分隔符将它们连接起来。

【讨论】:

  • @FarhanAfzalSaifee 不客气!仅仅因为你是新来的,你应该阅读How does accepting an answer work? :) 欢迎来到 StackOverflow!
  • 只是问你一个问题@MarcinJuraszek,当我使用这样的东西时。 Console.WriteLine(line.Length); Console.WriteLine(lines.Length);它给了我相同的维度,我尝试添加一个新的coloum,但没有任何影响。
  • 我现在不太明白你在问什么。
  • 现在我省略了所有空格后,我想知道它的尺寸,我该怎么做?
  • 你已经省略了空格,但它仍然是一个字符串数组,而不是一个多维数字数组。
【解决方案2】:

你可以使用一个简单的正则表达式:

lines = lines.Select(line => Regex.Replace(line, @"\s+", " ")).ToArray();

【讨论】:

    猜你喜欢
    • 2019-05-21
    • 1970-01-01
    • 2021-12-22
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多