Is the list that you obtain when it is imported into Mathematica this,
{{1,2,3,---},{4,5,---},{---,---,---},{7,8,9,10,---}}
or is it this:
{{1,2,3,"---"},{4,5,"---"},{"---","---","---"},{7,8,9,10,"---"}}
I.e., are the dashes imported as a string of dashes? Without them being strings, the expressions (of 3 dashes in a row) are not syntactically valid. So I will assume that they appear as strings. If so then the following will work for you:
In[1]:= test = {{1, 2, 3, "---"}, {4, 5, "---"}, {"---", "---", "---"}, {7, 8, 9, 10, "---"}}
In[2]:= DeleteCases[test /. "---" -> Sequence[], {}, Infinity]
Out[2]= {{1, 2, 3}, {4, 5}, {7, 8, 9, 10}}
Another way to do it might be
In[3]:= DeleteCases[DeleteCases[test, "---", Infinity], {}, Infinity]
Out[3]= {{1, 2, 3}, {4, 5}, {7, 8, 9, 10}}
And here's another....
In[4]:= (test /. "---" -> Sequence[]) /. {} -> Sequence[]
Out[4]= {{1, 2, 3}, {4, 5}, {7, 8, 9, 10}}