Again, I am not sure what exactly you want to do. If you want to remove "Fiction.Cultures & Regions" and "Fiction.Social Issues" prefixes but leave their children then try this:
Code:
program:
g = field('#genre');
stripped_hierarchies = list_re_group(g, ',', '.',
'^(Fanfiction|Documentation and Manuals|Fiction\.Cultures & Regions|Fiction\.Social Issues)($|\..*$)',
'{$}', '');
split_hierarchies = re(stripped_hierarchies, '\.', ',');
cleaned = list_union('', split_hierarchies, ',');
sorted = list_sort(cleaned, 0, ',')
All of the prefixes you want to remove must be in the first argument separated by | characters