How to leave only the following strings?
Try SequenceCases:
data = {{1, 7, 4, 6}, {1, 6, 4, 8}, {2, 4, 9, 2}, {E, 1, 2, 3},
{1, 4, 6, 3}, {4, 4, 6, 2}, {E, 4, 5, 6}}
SequenceCases[data, {p_, {E, ___}} :> p]
yields
{{2, 4, 9, 2}, {4, 4, 6, 2}}
The most idiomatic solution to this problem is, in my opinion, pattern matching (as Sakra has also answered):
SequenceCases[data, {x_List, {E, ___}} :> x]
{{2, 4, 9, 2}, {4, 4, 6, 2}}
But the problem also lends itself to functional solutions, e.g.:
pairs = Partition[data, 2, 1];
If[#[[2, 1]] == E, #[[1]], Nothing] & /@ pairs
{{2, 4, 9, 2}, {4, 4, 6, 2}}
Or in one go:
BlockMap[If[#[[2, 1]] == E, #[[1]], Nothing] &, data, 2, 1]
{{2, 4, 9, 2}, {4, 4, 6, 2}}