$str=':this is a applepie :) ';
Wie benutzt man PHP , Entferne das erste Zeichen :
Um jeden :
am Anfang eines Strings zu entfernen, können Sie ltrim verwenden:
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
Die substr()
Funktion wird Ihnen hier wahrscheinlich helfen:
$str = substr($str, 1);
Strings werden ab 0 indiziert und dieser zweite Parameter der Funktion übernimmt den Cutstart. Also mach die 1, und der erste Char ist weg.
Verwenden Sie substr :
$str = substr($str, 1); // this is a applepie :)
Ausführungszeit für die 3 Antworten:
Entfernen Sie den ersten Buchstaben, indem Sie das Gehäuse ersetzen
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Ausführungszeit für 1.000.000 Tests: 0.39602184295654
Sek
Entferne den ersten Buchstaben mit substr ()
$str = "hello";
$str = substr($str, 1);
Ausführungszeit für 1.000.000 Tests: 5.153294801712
Sek
Entferne den ersten Buchstaben mit ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
Ausführungszeit für 1.000.000 Tests: 5.2393000125885
Sek
Entfernen Sie den ersten Buchstaben mit preg_replace ()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Ausführungszeit für 1.000.000 Tests: 6.8543920516968
Sek
Hier ist der Code
$str = substr($str, 1);
echo $str;
Ausgabe:
this is a applepie :)
Nach weiteren Tests empfehle ich dies nicht mehr. Es verursachte ein Problem bei der Verwendung der aktualisierten Zeichenfolge in einer MySQL-Abfrage, und das Problem wurde behoben, indem ich zu substr
wechselte. Ich dachte darüber nach, diese Antwort zu löschen, aber Kommentare deuten darauf hin, dass sie irgendwie schneller ist, damit jemand eine Verwendung dafür hat. Möglicherweise behebt das Trimmen der aktualisierten Zeichenfolge Probleme mit der Zeichenfolgenlänge.
Manchmal braucht man keine Funktion:
$str[0] = '';
Zum Beispiel:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
Diese Methode ändert die vorhandene Zeichenfolge, anstatt eine andere zu erstellen.
$str = substr($str, 1);
Siehe PHP-Handbuch, Beispiel
echo substr('abcdef', 1); // bcdef
Hinweis:
unset($str[0])
funktioniert nicht , da Sie einen Teil eines Strings nicht entfernen können: -
Fatal error: Cannot unset string offsets
Die akzeptierte Antwort:
$str = ltrim($str, ':');
funktioniert, entfernt jedoch mehrere :
, wenn am Anfang mehrere vorhanden sind.
$str = substr($str, 1);
entfernt ein beliebiges Zeichen vom Start.
Jedoch,
if ($str[0] === ':')
$str = substr($str, 1);
funktioniert perfekt.
sie können die Funktion sbstr () verwenden
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Schneidet die Vorkommen jedes Wortes in einem Array vom Anfang und Ende einer Zeichenfolge + Leerzeichen und optional zusätzliche Einzelzeichen wie bei normalem trim () ab
<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
So entfernen Sie das erste Zeichen einer Zeichenfolge in PHP:
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
Der Code funktioniert gut für mich.
$str = substr($str ,-(strlen($str)-1));
Vielleicht auch mit Antworten beitragen.
benutze die mb_substr Funktion
mb_substr("我abc", 1);