日期:2014-05-18  浏览次数:20897 次

C#读写文本 送分啊!快进来抢分
这是我文本内容: 
1234 43 54 23 554 231 4541 
1232 423 514 354 31 441 1 
1231 243 154 123 54 31 454 
这些数据他们之间都是一个空格隔开的 
我要将这些数据 不满足4位的在他前面不空格 让他满足4位 

用C#代码怎么实现 请指教! 


------解决方案--------------------
先把文本取出来,用Regex.Split(...)来得到你的分开的数组String[],然后循环foreach来判断是否是4位数,
不足的补上就可以了。
------解决方案--------------------
C# code
 
      try
      {
        StreamReader sr = new StreamReader("test.txt");
        StringBuilder sb = new StringBuilder();
        while (!sr.EndOfStream)
        {
          string str = sr.ReadLine();
          string[] temp = str.Split(' ');
          for (int i = 0; i < temp.Length; i++)
          {
            if (temp[i].Length != 4)
              temp[i] = temp[i].PadLeft(4, ' ');
          }
          str = string.Join(" ", temp);
          sb.Append(str + "\n");
        }
        sr.Close();
        string[] result = sb.ToString().Split("\n".ToCharArray());
        StreamWriter sw = new StreamWriter("test.txt", false);
        foreach (string s in result)
          sw.WriteLine(s);
        sw.Close();
      }
      catch (Exception e)
      {
        Console.WriteLine(e.Message);
      }

------解决方案--------------------
C# code

StreamReader sr = new StreamReader(@"D:\1.txt");

using (StreamWriter sw = new StreamWriter(@"D:\2.txt", true))
{
    while (sr.Peek() != -1)
    {
        string[] temp = sr.ReadLine().Split(' ');
        for (int i = 0; i < temp.Length; i++)
            temp[i] = temp[i].PadLeft(4, ' ');
        string s = string.Join(" ", temp);
        sw.WriteLine(s);
    }
}
sr.Close();