Hallo,
steh grad auf'm Schlauch...
var temp = 'AntonBertaCäsar';hier möchte ich gerne vor alle Großbuchstaben, die nicht am Anfang stehen ein Leerzeichen einfügen.
kannst Du das bitte noch etwas genauer spezifizieren. Was bitte wäre das gewünschte Ergebnis bei 'ABC'?
So wie ich
RexExpverstanden hab, ist ein/(?!^)([A-Z])/ $1/gnicht umzusetzen, da ich nur die Tereffer erhalte?
möchtest Du nur vor solche Großbuchstaben ein Leerzeichen einfügen, vor denen *kein* Großbuchstabe steht, so wäre dies sehr einfach:
var temp = 'AntonBertaCäsar';
alert(temp.replace(/([^A-Z])([A-Z])/g, '$1 $2')); // gibt "Anton Berta Cäsar" aus
Möchtest Du vor jeden Großbuchstaben mit Ausnahme eines Großbuchstabens am Anfang ein Leerzeichen setzen, so ersetzte ich alle Großbuchstaben durch ein Leerzeichen, gefolgt von diesem Großbuchstaben und löschte ein Leerzeichen zu Beginn der Zeichenkette, das von einem Großbuchstaben gefolgt wird:
var temp = 'ABC'
alert(temp.replace(/([A-Z])/g, ' $1').replace(/^ ([A-Z])/, '$1')); // gibt "A B C" aus
Lieber zwei einfache Ausdrücke als ein einzelner, der viel komplizierter ausfallen muss. Der Aufwand für das zweite replace hält sich in Grenzen :-)
Freundliche Grüße
Vinzenz