204 Stimmen

Wie kann ich einen Teil eines Strings in PHP entfernen?

Wie kann ich einen Teil einer Zeichenkette entfernen?

Beispiel-String: "REGISTER 11223344 here"

Wie kann ich die "11223344" aus dem obigen Beispielstring?

280voto

Dominic Rodger Punkte 93942

Wenn Sie speziell auf "11223344" abzielen, dann verwenden Sie str_replace :

// str_replace($search, $replace, $subject)
echo str_replace("11223344", "","REGISTER 11223344 here");

145voto

dhorat Punkte 1409

Sie können verwenden str_replace() die wie folgt definiert ist:

str_replace($search, $replace, $subject)

Sie könnten den Code also wie folgt schreiben:

$subject = 'REGISTER 11223344 here' ;
$search = '11223344' ;
$trimmed = str_replace($search, '', $subject) ;
echo $trimmed ;

Wenn Sie eine bessere Übereinstimmung über reguläre Ausdrücke benötigen, können Sie preg_replace() .

27voto

ghostdog74 Punkte 305138

Angenommen, 11223344 ist nicht konstant:

$string="REGISTER 11223344 here";
$s = explode(" ", $string);
unset($s[1]);
$s = implode(" ", $s);
print "$s\n";

14voto

str_replace(find, replace, string, count)
  • finden. Erforderlich. Gibt den Wert an, der finden.
  • ersetzen. Erforderlich. Gibt den Wert an, der ersetzen. den Wert in finden.
  • String Erforderlich. Spezifiziert die String zu sein Durchsucht
  • zählen Optional. Eine Variable, die die Anzahl der Ersetzungen zählt

Wie im OP-Beispiel:

$Example_string = "REGISTER 11223344 here";
$Example_string_PART_REMOVED = str_replace('11223344', '', $Example_string);

// will leave you with "REGISTER  here"

// finally - clean up potential double spaces, beginning spaces or end spaces that may have resulted from removing the unwanted string
$Example_string_COMPLETED = trim(str_replace('  ', ' ', $Example_string_PART_REMOVED));
// trim() will remove any potential leading and trailing spaces - the additional 'str_replace()' will remove any potential double spaces

// will leave you with "REGISTER here"

7voto

TravisO Punkte 9202

Wenn Sie einen regelbasierten Abgleich benötigen, müssen Sie einen regulären Ausdruck verwenden:

$string = "REGISTER 11223344 here";
preg_match("/(\d+)/", $string, $match);
$number = $match[1];

Das entspricht der ersten Zahlenreihe. Wenn Sie es genauer wissen wollen, versuchen Sie es:

$string = "REGISTER 11223344 here";
preg_match("/REGISTER (\d+) here/", $string, $match);
$number = $match[1];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X