Ich hatte folgendes Problem: zwei Strings die leider zusammengepackt wurden, d.h. der String sah in etwa so aus: BlackSeaRedel oder SouthWestPassage. Mit folgendem regulärem Ausdruck, kann man automatisch Leerzeichen zwischen Worte einfügen. Das funktioniert leider nur, wenn das folgende Wort mit einem Großbuchstaben funktioniert.
In PHP wäre die Umsetzung über die preg_replace Funktion, etwa wie folgt:
$dely = preg_replace('/([a-z])([A-Z])/', '$1 $2', $dely);
Man kann das noch etwas variieren, sodass auch Worte, die etwa direkt auf Zahlen folgen, mit einem Leerzeichen getrennt werden.