import re


def parse_filter_string(string):
    """
    Parse a filter string into a 'field' 'operator' and 'value'

    :param string: stirng with format "<field><operator><value>"
    :type string: str

    :return: dictionary with fields 'field' 'operator' and 'value'
    :rtype: dict[str, str]
    """
    operator = re.findall(">=|<=|==|!=|>|<|=", string)
    if len(operator) > 1:
        message = 'There is more than one operator in filter: "{0}"'
        raise ValueError(message.format(string))
    elif len(operator) < 1:
        message = 'Could not find a valid operator in filter: "{0}"'
        raise ValueError(message.format(string))
    else:
        operator = operator[0]
        field, value = string.split(operator)
        field = field.strip()
        value = value.strip()
        return {'field': field, 'operator': operator, 'value': value}