export function getSeparatedContent(text: string, tokens: string[]): string[] { if (!tokens || !tokens.length) { return null; } let match = false; function separate(str: string, [token, ...restTokens]: string[]) { if (!token) { return [str]; } const list = str.split(token); match = match || list.length > 1; return list .reduce((prevList, unitStr) => [...prevList, ...separate(unitStr, restTokens)], []) .filter(unit => unit); } const list = separate(text, tokens); return match ? list : null; }