Library: Foundation
Package: Core
Header: Poco/StringTokenizer.h
A simple tokenizer that splits a string into tokens, which are separated by separator characters. An iterator is used to iterate over all tokens.
Member Functions: begin, count, end, find, has, operator [], replace
typedef TokenVec::const_iterator Iterator;
typedef std::vector < std::string > TokenVec;
TOK_IGNORE_EMPTY = 1
ignore empty tokens
TOK_TRIM = 2
remove leading and trailing whitespace from tokens
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:
~StringTokenizer();
Destroys the tokenizer.
Iterator begin() const;
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.
Iterator end() const;
std::size_t find(
const std::string & token,
std::size_t 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.
bool has(
const std::string & token
) const;
Returns true if token exists, false otherwise.
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.
std::size_t replace(
const std::string & oldToken,
const std::string & newToken,
std::size_t pos = 0
);
Starting at position pos, replaces all subsequent tokens having value equal to oldToken with newToken. Returns the number of modified tokens.