def itersplitat(string, positions):
    """
	Split ``string`` at the positions specified in ``positions``.

	For example::

		>>> from ll import misc
		>>> import datetime
		>>> datetime.datetime(*map(int, misc.itersplitat("20090609172345", (4, 6, 8, 10, 12))))
		datetime.datetime(2009, 6, 9, 17, 23, 45)

	This is a generator.
	"""
    curpos = 0
    for pos in positions:
        part = string[curpos:pos]
        if part:
            yield part
        curpos = pos
    part = string[curpos:]
    if part:
        yield part
