Replace the Field in a txt File

SaraDob
SaraDob used Ask the Experts™
on
Friends,
New to Asp.net programming. Begging your patience here.

Im  trying to parse a txt file . The text file  is a comma delimited file and the fields are enclosed in quotes.
The file has rows of data like this.

"CareType" ,"Company" ,"CareNumber", "HomeCare","ABCComapny","WC3456","lastName","Hollman"

The "keys" will always remain the same, throughout the file, only values change,And the keys are fixed in position.

Im trying to eliminate the "keys" and just retain the values like:
 "HomeCare","WC3456","Hollman"

Im using TextFieldParser to read through the fields.
I want to loop through the FieldRows and simply delete the "Key" fields and save the .txt file.

Right now i'm having this code:

using (TextFieldParser parser = new TextFieldParser(filename.FullName))
                              {
                               
                                   parser.Delimiters = new string[] { "," };
                                parser.HasFieldsEnclosedInQuotes = true;
                               
                               while (!parser.EndOfData)
                                  {
                                        string[] FieldRow = parser.ReadFields();
                             
                                                          //int Rowlength=FieldRow.Length;
                               
                                                        if (FieldRow[0]=="CareType")
                                                         {
                                       
                                                             // I want to Replace the key with null or simply delete here.
                                                            //save the .txt file here.
                                                               I cant use FieldRow[0].Replace("careType","");


                                                        }
                                 
                                         
                                     }
                              }
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
You probably want to use Except() on the array; e.g. -
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualBasic.FileIO;

namespace EE_Q28907159
{
	class Program
	{
		static void Main(string[] args)
		{
			List<string> results = new List<string>();
			using (TextFieldParser parser = new TextFieldParser("EE_Q28907159.txt") { Delimiters = new[] { "," }, HasFieldsEnclosedInQuotes = true })
			{
				while (!parser.EndOfData)
				{
					string[] row = parser.ReadFields();
					results.Add(string.Join(",", row.Except(new[] {"caretype", "company", "carenumber", "abccomapny", "lastname"}, StringComparer.OrdinalIgnoreCase).ToArray()));
				}
			}

			foreach (var result in results)
				Console.WriteLine(result);
			Console.ReadLine();
		}
	}
}

Open in new window

Which produces the following output -Capture.JPGYou just want to place the *key* fields into the new array that is passed to the Except method; e.g. -
FieldRow = FieldRow.Except(new[] {"caretype", "company", "carenumber", "abccomapny", "lastname"}, StringComparer.OrdinalIgnoreCase).ToArray();

Open in new window

-saige-

Author

Commented:
Thank you!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial