# Poco

# class StringTokenizer

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, operator []

## Types

### Iterator

typedef std::vector < std::string >::const_iterator Iterator;

## 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.

An empty token at the end of str is always ignored. For example, a StringTokenizer with the following arguments:

    StringTokenizer(",ab,cd,", ",");

will produce three tokens, "", "ab" and "cd".

## Destructor

### ~StringTokenizer

~StringTokenizer();

Destroys the tokenizer.

## Member Functions

### begin

Iterator begin() const;

### count

std::size_t count() const;

Returns the number of tokens.

### end

Iterator end() const;

### operator []

const std::string & operator[] (
std::size_t index
) const;

Returns the index'th token. Throws a RangeException if the index is out of range.