Yes, it is possible, if $p<\infty$. It should be evident that it is enough to show that you can approximate a simple function by step functions (i.e. simple functions made only with characteristic functions of disjoint intervals). In order to do this, it is enough to show that the characteristic of a measurable set of finite measure can be approximated by step functions. Take a measurable set $A$ with $\mu(A)<+\infty$; by regularity, we can find an open set $U\supset A$ such that $\mu(U\setminus A)<\epsilon$ and by a well known result in topology, $U$ can be written as a countable union of disjoint intervals: $U=\bigcup_{n=0}^\infty I_n$ so, we can find $N$ such that $\mu\left(\bigcup_{n> N} I_n\right)<\epsilon\;.$ Hence, we define $h(x)=\sum_{n=0}^N\chi_{I_n}(x)$ and we have $\|h(x)-\chi_A(x)\|_p\leq(2\epsilon)^{1/p}\;.$ So, the step functions are dense among the simple functions, which in turn are dense in $L^p$.
If $p=\infty$, the result no longer holds: take a measurable set $A$ such that $0<\mu(A\cap I)<\mu(I)$ for every interval $I$, then $\chi_A$ is at a positive distance from every step function.