Click here to Skip to main content
Licence 
First Posted 13 Apr 2001
Views 98,208
Bookmarked 28 times

Yet another string parser

By | 15 Mar 2002 | Article
Another class for extracting fields of string

Sample screenshot

Introduction

This is just another string parser that can be used either for command line or for CSV file for instance. This implementation uses the minimum amount of memory and time to parse a string into tokens.

Sample code

CStringParser args;
args.Parse( ::GetCommandLine(), poCmdLine ); 
args.Parse( _T("\"BOS011\" \"2001/04/09 08:49:09:0"
  "\" \"Hooker\" \"137.3.0.240\" \"Boston\" \"No SMS "
  "client detected\" \"No\" \"No\""), poCsvLine ); 
args.Parse( _T("BOS011,\"GHA\",\"149.19.0.49\",\"149.19.0.0\","
  "Microsoft Windows NT Advanced Server 4.0,BOSTON,BOSTON,"
  "Administrator,GUID:01C7F260-799B-11D4-875E-00508B9B1A22,1,"
  "SSMS1,2.00.1493.2009,5,1"), CParseOptions( ',', '"', '\0', FALSE ) );

Details

There are 2 projects to try this class - One is a simple console, the other is a complete GUI dialog box application to check each possibility of the class (using MFC). Have a nice trip with it.

Sorry for the lack of proper documentation but still have no time for it. Just read the code -both classes are not too hard.

Changes

By the way, I did some changes in the parser :

  • Can keep the quotes in the parsed argument by SetKeepQuote(true).
  • Can get the trailing null argument by SetRTrim(false).

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Remon



France France

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralIt has a bug [modified] PinmemberAli Rafiee11:06 15 Jul '08  
GeneralGood job PinmemberN5ARW12:16 19 Jan '07  
GeneralANSI string version also available PinmemberBill Kudrle13:04 25 Jul '03  
GeneralDouble Quote Bug Fix Pinmember_dew_21:38 20 Jul '03  
GeneralVery good, exellect, (except one point) Pinmembersequaier15:58 25 Nov '02  
GeneralRe: Very good, exellect, (except one point) PinmemberRemon8:00 26 Nov '02  
GeneralRe: Checked it.. ^^ Pinmembersequaier13:00 27 Nov '02  
GeneralNice code!!! PinmemberAnonymous4:37 7 Mar '02  
GeneralI like it PinmemberAnonymous11:16 12 May '01  
QuestionDocs? PinmemberAnonymous11:33 25 Apr '01  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120517.1 | Last Updated 16 Mar 2002
Article Copyright 2001 by Remon
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid