use regular expressions, for exampleusing System; using System.IO; using System.Text.RegularExpressions;class TestConv { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("program old.txt new.txt"); return; } StreamReader reader = new StreamReader(args[0]); StreamWriter writer = new StreamWriter(args[1]); Regex re = new Regex(@"CDP\s*=\s*(\S+)", RegexOptions.IgnoreCase); Regex re2 = new Regex(@"TIME\s*=\s*(\S+)\s*SEMB_VEL\s*=\s*(\S+)", RegexOptions.IgnoreCase); string sLine; while ((sLine = reader.ReadLine()) != null) { Match m = re.Match(sLine); if (m.Success) writer.WriteLine("{0},2",m.Groups[1].Value); else { m = re2.Match(sLine); if (m.Success) writer.WriteLine("{0},{1}",m.Groups[1].Value, m.Groups[2].Value); } } reader.Close(); writer.Close(); } }
using System.IO;
using System.Text.RegularExpressions;class TestConv
{
static void Main(string[] args)
{
if (args.Length < 2)
{
Console.WriteLine("program old.txt new.txt");
return;
} StreamReader reader = new StreamReader(args[0]);
StreamWriter writer = new StreamWriter(args[1]); Regex re = new Regex(@"CDP\s*=\s*(\S+)", RegexOptions.IgnoreCase);
Regex re2 = new Regex(@"TIME\s*=\s*(\S+)\s*SEMB_VEL\s*=\s*(\S+)", RegexOptions.IgnoreCase);
string sLine;
while ((sLine = reader.ReadLine()) != null)
{
Match m = re.Match(sLine);
if (m.Success)
writer.WriteLine("{0},2",m.Groups[1].Value);
else
{
m = re2.Match(sLine);
if (m.Success)
writer.WriteLine("{0},{1}",m.Groups[1].Value, m.Groups[2].Value);
}
} reader.Close();
writer.Close();
}
}