Das Muster /_*/
stimmt mit null oder mehr aufeinanderfolgenden _
überein. So wird merry_christmas
in merrychristmas
umgewandelt.
Was Sie brauchen, ist /_.*/s
, das mit einem _
übereinstimmt, gefolgt von null oder mehr beliebigen Zeichen (beachten Sie die s Modifizierer ):
Aber wie die anderen bereits erwähnt haben, ist die Verwendung von regulären Ausdrücken möglicherweise nicht der beste Weg. Berücksichtigen Sie auch die anderen erwähnten Lösungen, die grundlegende Zeichenfolgenoperationen verwenden. Nicht alle von ihnen sind so lesbar wie ein regulärer Ausdruck wie der obige (wichtiger: Sie könnten ein unerwartetes Ergebnis zurückgeben, wenn in der Zeichenfolge kein _
vorhanden ist). Aber unter bestimmten Umständen könnten sie schneller sein.
Sie brauchen keine regulären Ausdrücke, Sie können explode
( substr
ist wahrscheinlich besser, aber ich möchte eine andere Alternative zeigen):
Ihre Ausdrücke funktionieren nicht, weil nur mit einer Variablennummer von _
übereinstimmt, nicht mit anderen Zeichen.
Tags und Links php preg-replace