class Poco::StringTokenizer
Overview
A simple tokenizer that splits a string into tokens, which are separated by separator characters. More…
#include <StringTokenizer.h> class StringTokenizer { public: // typedefs typedef std::vector<std::string> TokenVec; typedef TokenVec::const_iterator Iterator; // enums enum Options; // construction StringTokenizer( const std::string& str, const std::string& separators, int options = 0 ); // methods Iterator begin() const; Iterator end() const; const std::string& operator[](std::size_t index) const; std::string& operator[](std::size_t index); bool has(const std::string& token) const; std::string::size_type find( const std::string& token, std::string::size_type pos = 0 ) const; std::size_t replace( const std::string& oldToken, const std::string& newToken, std::string::size_type pos = 0 ); std::size_t count() const; std::size_t count(const std::string& token) const; };
Detailed Documentation
A simple tokenizer that splits a string into tokens, which are separated by separator characters.
An iterator is used to iterate over all tokens.
Construction
StringTokenizer( const std::string& str, const std::string& separators, int options = 0 )
Splits the given string into tokens.
The tokens are expected to be separated by one of the separator characters given in separators. Additionally, options can be specified:
* TOK_IGNORE_EMPTY: empty tokens are ignored * TOK_TRIM: trailing and leading whitespace is removed from tokens.
Methods
const std::string& operator[](std::size_t index) const
Returns const reference the index’th token.
Throws a RangeException if the index is out of range.
std::string& operator[](std::size_t index)
Returns reference to the index’th token.
Throws a RangeException if the index is out of range.
bool has(const std::string& token) const
Returns true if token exists, false otherwise.
std::string::size_type find( const std::string& token, std::string::size_type pos = 0 ) const
Returns the index of the first occurence of the token starting at position pos.
Throws a NotFoundException if the token is not found.
std::size_t replace( const std::string& oldToken, const std::string& newToken, std::string::size_type pos = 0 )
Starting at position pos, replaces all subsequent tokens having value equal to oldToken with newToken.
Returns the number of modified tokens.
std::size_t count() const
Returns the total number of tokens.
std::size_t count(const std::string& token) const
Returns the number of tokens equal to the specified token.