In your question, it's not clear whether the quantum number assignments for the transitions are known in advance, so for generality I'll assume that you don't know what they are, and help you find them.
Combination-differences is the most common paper-based method to determine line assignments (for more detailed analysis, a computer-aided fitting program such as PGopher is best). From the line assignments, it's easy to find the $B$-values.
Rotational energy levels are given by
$$F_\nu(J)\approx B_\nu J(J+1)+D_\nu [J(J+1)]^2$$
where $B_\nu$ and $D_\nu$ are the rotational constant and centrifugal distortion constant associated with the manifold $\nu$.
Denoting the initial and final states by $1$ and $2$ respectively, the $P,R$ transition energies are given by
$$P(J)=F_2(J-1)-F_1(J)
\\R(J)=F_2(J+1)-F_1(J).$$
Combination-differences is can be done in two ways:
If your rovibronic transition originates from an initial manifold with well-documented spectral characteristics (including $B_1$), note that
$$R(J-1)-P(J+1)=2 (2 J+1) \left(B_1-2 D_1 \left(J^2+J+1\right)\right)\approx2B_1(2J+1)$$
when $D_1$ is small, and so then you can just try to find pairs of $P,R$ peaks with spacing $2B_1(2J+1)$ for various small values of $J$. This allows you to number the peaks as to their identity.
If instead the upper state has well-known $B_2$, then note that
$$R(J)-P(J)=2 (2 J+1) \left(B_2-2 D_2 \left(J^2+J+1\right)\right)\approx2 B_2 (2 J+1)$$
and so then you can just try to find pairs of $P,R$ peaks with spacing $2B_1(2J+1)$ for various small values of $J$. Again, this allows you to number the peaks as to their identity.
Once the quantum numbers are assigned, finding both $B_1$ and $B_2$ is easy. For example, $R(J)-R(J-1)=2 \left(B_2 (J+1)-B_1 J\right)$, so if you measure it for two values of $J$, then you have two unknowns and two datapoints, so just solve for $B_1$ and $B_2$.
Fun Pictures
Just to give a simple idea of how spectra are simulated, the following Mathematica code does a basic rotational spectrum assuming Boltzmann statistics at a reasonable temperature (hit Cell
>Convert To
>StandardForm
to get it to render the subscripts correctly):
Subscript[F, k_][J_] :=
Subscript[B, k] J (J + 1) - Subscript[D, k] J^2 (J + 1)^2;
R[J_] := Subscript[F, 2][J + 1] - Subscript[F, 1][J];
P[J_] := Subscript[F, 2][J - 1] - Subscript[F, 1][J];
ListPlot[Transpose[
Table[{{R[J], (2 J + 1) Exp[-(1/30) Subscript[F, 1][J]]}, {P[
J], (2 J + 1) Exp[-(1/30) Subscript[F, 1][J]]}} /. {Subscript[
D, k_] :> 0, Subscript[B, 1] -> 1, Subscript[B, 2] -> 0.9}, {J,
0, 15}], {2, 1, 3}], Filling -> Axis]
