#include <wx/tokenzr.h>
wxStringTokenizer helps you to break a string up into a number of tokens.
It replaces the standard C function strtok()
and also extends it in a number of ways.
To use this class, you should create a wxStringTokenizer object, give it the string to tokenize and also the delimiters which separate tokens in the string (by default, white space characters will be used).
Then wxStringTokenizer::GetNextToken() may be called repeatedly until wxStringTokenizer::HasMoreTokens() returns false.
For example:
Public Member Functions | |
wxStringTokenizer () | |
Default constructor. | |
wxStringTokenizer (const wxString &str, const wxString &delims=wxDEFAULT_DELIMITERS, wxStringTokenizerMode mode=wxTOKEN_DEFAULT) | |
Constructor. | |
size_t | CountTokens () const |
Returns the number of tokens remaining in the input string. | |
wxChar | GetLastDelimiter () const |
Returns the delimiter which ended scan for the last token returned by GetNextToken() or NUL if there had been no calls to this function yet or if it returned the trailing empty token in wxTOKEN_RET_EMPTY_ALL mode. | |
wxString | GetNextToken () |
Returns the next token or empty string if the end of string was reached. | |
size_t | GetPosition () const |
Returns the current position (i.e. one index after the last returned token or 0 if GetNextToken() has never been called) in the original string. | |
wxString | GetString () const |
Returns the part of the starting string without all token already extracted. | |
bool | HasMoreTokens () const |
Returns true if the tokenizer has further tokens, false if none are left. | |
void | SetString (const wxString &str, const wxString &delims=wxDEFAULT_DELIMITERS, wxStringTokenizerMode mode=wxTOKEN_DEFAULT) |
Initializes the tokenizer. | |
Public Member Functions inherited from wxObject | |
wxObject () | |
Default ctor; initializes to NULL the internal reference data. | |
wxObject (const wxObject &other) | |
Copy ctor. | |
virtual | ~wxObject () |
Destructor. | |
virtual wxClassInfo * | GetClassInfo () const |
This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). | |
wxObjectRefData * | GetRefData () const |
Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. | |
bool | IsKindOf (const wxClassInfo *info) const |
Determines whether this class is a subclass of (or the same class as) the given class. | |
bool | IsSameAs (const wxObject &obj) const |
Returns true if this object has the same data pointer as obj. | |
void | Ref (const wxObject &clone) |
Makes this object refer to the data in clone. | |
void | SetRefData (wxObjectRefData *data) |
Sets the wxObject::m_refData pointer. | |
void | UnRef () |
Decrements the reference count in the associated data, and if it is zero, deletes the data. | |
void | UnShare () |
This is the same of AllocExclusive() but this method is public. | |
void | operator delete (void *buf) |
The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. | |
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0) |
The new operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. | |
Additional Inherited Members | |
Protected Member Functions inherited from wxObject | |
void | AllocExclusive () |
Ensure that this object's data is not shared with any other object. | |
virtual wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. | |
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. | |
Protected Attributes inherited from wxObject | |
wxObjectRefData * | m_refData |
Pointer to an object which is the object's reference-counted data. | |
wxStringTokenizer::wxStringTokenizer | ( | ) |
Default constructor.
You must call SetString() before calling any other methods.
wxStringTokenizer::wxStringTokenizer | ( | const wxString & | str, |
const wxString & | delims = wxDEFAULT_DELIMITERS , |
||
wxStringTokenizerMode | mode = wxTOKEN_DEFAULT |
||
) |
Constructor.
Pass the string to tokenize, a string containing delimiters, and the mode specifying how the string should be tokenized.
size_t wxStringTokenizer::CountTokens | ( | ) | const |
Returns the number of tokens remaining in the input string.
The number of tokens returned by this function is decremented each time GetNextToken() is called and when it reaches 0, HasMoreTokens() returns false.
wxChar wxStringTokenizer::GetLastDelimiter | ( | ) | const |
Returns the delimiter which ended scan for the last token returned by GetNextToken() or NUL
if there had been no calls to this function yet or if it returned the trailing empty token in wxTOKEN_RET_EMPTY_ALL mode.
wxString wxStringTokenizer::GetNextToken | ( | ) |
Returns the next token or empty string if the end of string was reached.
size_t wxStringTokenizer::GetPosition | ( | ) | const |
Returns the current position (i.e. one index after the last returned token or 0 if GetNextToken() has never been called) in the original string.
wxString wxStringTokenizer::GetString | ( | ) | const |
Returns the part of the starting string without all token already extracted.
bool wxStringTokenizer::HasMoreTokens | ( | ) | const |
Returns true if the tokenizer has further tokens, false if none are left.
void wxStringTokenizer::SetString | ( | const wxString & | str, |
const wxString & | delims = wxDEFAULT_DELIMITERS , |
||
wxStringTokenizerMode | mode = wxTOKEN_DEFAULT |
||
) |
Initializes the tokenizer.
Pass the string to tokenize, a string containing delimiters, and the mode specifying how the string should be tokenized.