I have a log file. The file is structured. Each line is delimeted by commas so that it looks like a table. I have to read from this file and transport the content to a database table. I want to treat the first 9 commas as delimeters and the rest ones as just a content of the tenth column. So, there can be more than 9 commas in a line but the tenth and the next ones shoudn’t be taken as a delimeter. I actually know how to do it by iterating through the characters and checking occurance of commas. But I don’t want it be inefficient. maybe there’s a better way? What would be the most accurate way to accomplish this? Either C# or Delphi is OK. For Oracle I’ll probably use Oracle but SQL Server is also an option.
Share
The
String.Split(char[],int)method overload achieves what you require. For example:The
fieldsarray will contain ten elements. The first nine elements correspond the first nine substrings oflinethat were delimited by','characters, whilst the last element would correspond to the remaining substring (following the ninth','occurrence).From MSDN (with
countbeing the second argument passed to theSplit(char[], int)method):Thus, executing:
would output: