解决方案 »

  1.   

    先Split,然后将相邻两行连起来,再Split
      

  2.   

    你好
    能大致打一下 cod 吗 谢谢  我是新手
    大部分问题都解决了 但内容c还是无法识别 
      

  3.   

    string[] lines = File.ReadAllLines("c:\\test.txt");
    var query = lines.Select((x, i) => new { x, i }).GroupBy(x => x.i / 2).Select(x => string.Join("", x.Select(y => y.x)).Split('#'));
    for (var item in query)
    {
        Console.WriteLine(item[1] + "\t" + item[2]);
    }
      

  4.   


    for (var item in query) —— 是 foreach (var item in query)
    代码没错  
    但只识别  内容a 与b
    ----------------------
    qwe asd 
    qwe asd
    qwe asd
      

  5.   

    Console.WriteLine(item[3] + "\t" + item[4]);
      

  6.   

    请问引索超出了数组界限 该如何解决
    因为txt文件很大
    类似下面这样的段落 大概有50段吧 00278000000000181000450001000070000010100040000720000160001121000070002721100030
    00346060007000376750003000447000017000479200002000649210002000669220002000689660
    01900070970000700089#Compra#fre#Tempos modernos#Lisboa#19#Cinema#77#Chaplin, Char
    les#n#g#m#037.CIN.001|ESJT|1#Lurdes#*
      

  7.   


    你好
     string[] lines = File.ReadAllLines(@"..\..\..\..\..\..\..\data\sa.txt");
                var query = lines.Select((x, i) => new { x, i }).GroupBy(x => x.i/2).Select(x => string.Join("", x.Select(y => y.x)).Split('#'));
                foreach (var item in query)
                {                 
                    Console.Write(item[3] + "#" + item[8] + "#" + item[9] + "#" + item[12] + "\n");
     
                }
    能为我讲解或修改下吗 var那段, 我不是很明白new { x, i }).GroupBy(x => x.i/2) 里面的数字 我试过修改数字 但是还是不能显示很多行  还有 有关于 #* 结尾的 代码  该怎么写
    txt文档是这样的   有50段 
    下面只是一段  我但超过一定错误他就显示错误了 或者读取不出来 ... 
    ---------------------------------------------------------------------------------------------------------------------------------------------
    00278000000000181000450001000070000010100040000720000160001121000070002721100030
    00346060007000376750003000447000017000479200002000649210002000669220002000689660
    01900070970000700089#Compra#fre#Tempos modernos#Lisboa#19#Cinema#77#Chaplin, Char
    les#n#g#m#037.CIN.001|ESJT|1#Lurdes#*------------------------------------------------------------------------------------------------------------------------------------------
      

  8.   

    用正则表达式:
    string s = "";
    using(FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    {
    using(StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default))
    {
    s = sr.ReadToEnd();
    }                
    }var matches = Regex.Matches(s, @"#([\w\W]*?)#[\w\W]*?#([\w\W]*?)#([\w\W]*?)#\*");foreach (Match m in matches)
    {
    var a = m.Groups[1].Value;
    var c = m.Groups[2].Value;
    var d = m.Groups[3].Value;
    }
      

  9.   

    你好 谢谢你 请问如果我想把 显示的数据保存到另一个txt该怎么做
    我试过 用 StreamWriter 在 后面加了一行
     StreamWriter se = new StreamWriter(@"..\..\..\..\..\..\..\data\sa.txt");
                    
                   se.WriteLine(string.Concat(a + " " + b + " " + c + " " + d, Environment.NewLine));
                   se.Close();
    但它只能 读取最后一行  能帮我修改下 这一段吗 谢谢 
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Text.RegularExpressions;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                
                string s = "";
                using (FileStream fs = new FileStream(@"..\..\..\..\..\..\..\data\sa1.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    using (StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default))
                    {
                        s = sr.ReadToEnd();
                    }
                }            var matches = Regex.Matches(s, @"#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#([\w\W]*?)#\*");            foreach (Match m in matches)
                {
                    var a = m.Groups[3].Value.Replace(Environment.NewLine,"");
                    var b = m.Groups[7].Value.Replace(Environment.NewLine, "");
                    var c = m.Groups[8].Value.Replace(Environment.NewLine, "");
                    var d = m.Groups[12].Value.Replace(Environment.NewLine, "");
                    Console.WriteLine(a+" "+b+" "+c+" "+d);
                    StreamWriter se = new StreamWriter(@"..\..\..\..\..\..\..\data\sa.txt");
                    
                se.WriteLine(string.Concat(a + " " + b + " " + c + " " + d));
                   se.Close();
                }        }
        }
    }
      

  10.   

    你这样 在循环中写文件效率恐怕会有点低啊。可以先存到一个变量中,最后一次性写入,例如:
    var sb = new StringBuilder();
    foreach (Match m in matches)
    {
    var a = m.Groups[3].Value.Replace(Environment.NewLine,"");
    var b = m.Groups[7].Value.Replace(Environment.NewLine, "");
    var c = m.Groups[8].Value.Replace(Environment.NewLine, "");
    var d = m.Groups[12].Value.Replace(Environment.NewLine, "");
    Console.WriteLine(a+" "+b+" "+c+" "+d);
    sb.Append(a+" "+b+" "+c+" "+d + "\r\n");
    } StreamWriter se = new StreamWriter(@"..\..\..\..\..\..\..\data\sa.txt");
     
    se.WriteLine(sb.ToString());
    se.Close();