import re


def get_tokens_to_string(s):
    """ divides a (potentially) multi-word string into tokens - splitting on whitespace or hyphens
       (important for hyphenated names) and lower casing
       returns a single joined string of tokens
    """
    tokens = [t.lower() for t in re.split(r'[\s-]', s) if t]
    return ''.join(tokens)