@Kitonum
We may think about it a little bit more. Now we just delete "ab", "ac" and “ad” and so on. I mean all the "a*x" forms that have "a" in them need to be deleted. Note that "x" stands for exactly one letter. For example:
f :=a*b*c*d+ a*b*c+a*b+a*c+a*d+a*e+2*a+a+b+c;
s:=select(has, {op(f)}, a) minus {a*b,a*d,a*c,a*e};
s := {a*b*c, a*b*c*d, 3*a}
The above expression f is simple, so the above method can be done. But if there are many kinds of a* x in f, the codes may not be so neat.