views:

184

answers:

3

I have a simple string which is delimited by some character, let's say a comma. I should be able to create a TStringList and set it's delimiter to a comma then set the DelimitedText to the text I want to parse and it should be automaticlly parsed.

The problem is when I look at the output it also includes spaces as delimiters and chops up my results. How can I avoid this, or is there a better way to do this.

+17  A: 

There's a StrictDelimiter property on the TStringList. Set it to True and it will only parse on the delimiter, not the spaces.

Mason Wheeler
Note: This is only available from Delphi 2005 (or 2006) only. If you are using an older version, you can create your own subclass of TStringList with a "StrictDelimitedText" property. Unfortunately SetDelimitedText is both private and non-virtual (in D7 at least) so you can't override it.
Gerry
+5  A: 

That's standard, documented behavior of the TStrings.DelimitedText property. You want to set the StrictDelimiter property to true to disable that behavior.

Rob Kennedy
Mason beat you ;-)
Jeroen Pluimers
Probably the price Rob paid for the nicer formatting :)
Smasher
A: 

You can have a look on the function "ExtractStrings" , if you are using d7

Ryan