Library: Foundation
Package: Core
Header: Poco/StringTokenizer.h
Description
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 Summary
Member Functions: begin, count, end, find, has, operator [], replace
Types
Iterator
typedef TokenVec::const_iterator Iterator;
TokenVec
typedef std::vector < std::string > TokenVec;
Enumerations
Options
TOK_IGNORE_EMPTY = 1
ignore empty tokens
TOK_TRIM = 2
remove leading and trailing whitespace from tokens
Constructors
StringTokenizer
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.
Destructor
~StringTokenizer
~StringTokenizer();
Destroys the tokenizer.
Member Functions
begin
Iterator begin() const;
count
std::size_t count() const;
Returns the total number of tokens.
count
std::size_t count(
const std::string & token
) const;
Returns the number of tokens equal to the specified token.
end
Iterator end() const;
find
std::string::size_type find(
const std::string & token,
std::string::size_type pos = 0
) const;
Returns the index of the first occurrence of the token starting at position pos. Throws a NotFoundException if the token is not found.
has
bool has(
const std::string & token
) const;
Returns true if token exists, false otherwise.
operator []
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.
operator []
std::string & operator[] (
std::size_t index
);
Returns reference to the index'th token. Throws a RangeException if the index is out of range.
replace
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.