Separation of variables is used a lot to handle the wave equation with finite boundary conditions. The technique is as follows:
let $u_{tt}-cu_{xx}=0$ (consider the homogeneous case)
with $u(0,t)=1=u(L,t)$ for the domain $D=\{[0,L]\times \mathbb{R}^+\}$
(as an example, consider a vibrating string with length $L$ and measure motion starting at time $0$)
The idea of separation of variables is to write the solution $u(x,t)$, which is a function of two variables, as a product of two, single-variable functions.
$u(x,t)=X(x)T(t)$ is common. This will work for linear PDEs, but not non-linear ones (also I don't think quasi-linear either).
we can write $T''(t)X(x)=c^2X''(x)T(t)$. We can algebraically rewrite this as:
$\frac{T''}{T}=\frac{c^2X''}{X}$. Note that the only way for these two functions to be equal is if they are both constant, so we typically denote this by $\lambda$, and write $\frac{T''}{T}=\frac{c^2X''}{X}=\lambda$
Next, we partition into two ODEs, and obtain:
$T''=\lambda T$ and $X''=\lambda c^2X$.
We want to consider all possible values of $\lambda$. The classic technique/trick is to partition into three cases, and solve for position (x coordinate) first:
$\lambda=0$
In this case, we get $X''=0$, and the solution to this ODE is $X(x)=Ax+B$ where $A$ and $B$ are arbitrary constants. Now, plug in boundary conditions:
$X(0)=B$ and $X(L)=AL+B$, we want solutions which satisfy the boundary conditions, so we set them equal, but $X(0)=X(L)=AL+B=B$ has no solution unless $A$ is $0$ ($L$ is assumed to be of positive, finite length), and this forces $B$ to be zero as well, so no solution exists for $\lambda=0$
second: $\lambda>0$
Here we get the familiar ODE $X''-c^2\lambda X=0$ The solutions:
$X(x)=Ae^{-\lambda x}+Be^{\lambda x}$. A similar calculation with the boundary conditions shows us that we only get the trivial solution of $X(x)=0$
third: $\lambda <0$, we get the ODE $X''+c^2\lambda X=0$
We obtain $X(x)=Asin(\sqrt{\lambda x})+Bcos(\sqrt{\lambda x})$
Plugging in our boundary conditions again, we get $X(0)=B$ and $X(L)=Asin(\sqrt{\lambda L})+Bsin(\sqrt{\lambda L})$ We don't want the $sin$, so we want to find $Bcos(\sqrt{\lambda L})=B$, which reduces to $cos(\sqrt{\lambda L})=1$. The eigenvalues are $\lambda_{n}=\frac{4n^2\pi^2}{L}$ (set $\sqrt{\lambda L}=2n\pi$ which gives you all the values where the cosine is 1.)
so our eigenfunctions are $X_n(x)=Acos(\frac{4n^2\pi^2}{L}x)$
We don't need to do the three cases for $T(t)$ because we already know $\lambda<0$. Our eigenfunctions are computed similarly, but since we aren't considering a "time boundary", we get $T_n(t)=Acos(\frac{4n^2\pi^2t}{L})+Bsin(\frac{4n^2\pi^2}{L}t)$
combining gives the solution $u(x,t)=\sum_{n=1}^{\infty}X_n(x)T_n(t)$
You can plug in various other boundary conditions into the series expansion. Seperation of variables will work just fine.