def extract_species_strings(species, characteristics, species_string_dict):
    """
        Extract the species strings from the species_string_dict based on the meta-species and characteristics given

        Parameters:
            species (meta-species object) = Instance of the meta-species to obtain the species strings for
            characteristics (str) = Characteristics to filter through
            species_string_dict (dict) = Dictionary where the meta-species are the keys and the values all their
            species

        Returns:
            species_strings_list (list of str) = species strings filtered from the meta-species
    """
    species_strings_list = []
    species_strings_to_filter = set()

    species_strings_to_filter = species_strings_to_filter.union(species_string_dict[species])

    for species_string in species_strings_to_filter:
        species_string_split = species_string.split('_dot_')[1:]
        if all([char in species_string_split for char in characteristics]):
            species_strings_list.append(species_string)

    return species_strings_list