static LS ai_dropFillers_advanced_once(S s) { LS phrases = mL("Fillers"); LS tokOriginal = javaTokNPunctuation_cached(s); LS tokS = cloneList(tokOriginal); int n = l(tokS); LL tokPhrases = map javaTokNPunctuation_cached(phrases); LL tokNonFillers = map javaTokNPunctuation_cached(mL("Not fillers")); // Mark non-fillers with stars for (int i = 1; i < n; i += 2) for (LS tokPhrase : tokNonFillers) if (codeTokenSubListEqualsIC(tokS, tokPhrase, i)) for (int j = i; j < i+l(tokPhrase)-1; j += 2) tokS.set(j, "*"); new LS out; for (int i = 1; i < n; i += 2) for (LS tokPhrase : tokPhrases) if (codeTokenSubListEqualsIC(tokS, tokPhrase, i)) out.add(trimJoin(ai_dropTokens(tokOriginal, i, i+l(tokPhrase)-1))); ret out; }