def _extract_support(node):
    """Extract the support value from a node label, if available.

    Parameters
    ----------
    skbio.TreeNode
        node from which the support value is extracted

    Returns
    -------
    tuple of
        int, float or None
            The support value extracted from the node label
        str or None
            The node label with the support value stripped
    """
    support, label = None, None
    if node.name:
        # separate support value from node name by the first colon
        left, _, right = node.name.partition(':')
        try:
            support = int(left)
        except ValueError:
            try:
                support = float(left)
            except ValueError:
                pass
        # strip support value from node name
        label = right or None if support is not None else node.name
    return support, label