Question: I have a list from which I would like to create a sublist from this:

```
lis = {{a,X,b},{c,d,e,X,f},{h,j,X}}

```

giving:

```
res = {{a},{c,d,e},{h,j}}

```

i.e., deleting each X and its following elements from each sublist. Likely asked and answered, any pointers greatly appreciated!

Answer: 
You can use `ReplaceAll` with an appropriate pattern in such cases

```
{{a, X, b}, {c, d, e, X, f}, {h, j, X}} /. {begin___, X, end___} :> {begin}

```

Note the use of named patterns of the `BlankNullSequence` variety that can stand for any sequence of zero or more expressions
```
lis = {{a, X, b}, {c, d, e, X, f}, {h, j, X}};
TakeWhile[#, # =!= X &] & /@ lis

```

> 
> {{a},{c,d,e},{h,j}}
> 
> 
> 

---

From comment by Mr. [J.M](https://mathematica.stackexchange.com/users/50/j-m)

```
First[Split[#, #2 =!= X &]] & /@ lis

```