$str=':this is a applepie :) ';
Comment utiliser PHP , Supprimez le premier caractère :
Pour supprimer tous les :
du début d'une chaîne, vous pouvez utiliser ltrim :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
La fonction substr()
vous aidera probablement ici:
$str = substr($str, 1);
Les chaînes sont indexées à partir de 0, et ce second paramètre de fonction prend le cutstart. Alors faites-en 1, et le premier personnage est parti.
Utilisez substr :
$str = substr($str, 1); // this is a applepie :)
Temps d'exécution pour les 3 réponses:
Supprimer la première lettre en remplaçant le cas
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Heure d'exécution pour 1.000.000 tests: 0.39602184295654
sec
Supprimer la première lettre avec substr ()
$str = "hello";
$str = substr($str, 1);
Heure d'exécution pour 1.000.000 tests: 5.153294801712
sec
Enlevez la première lettre avec ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
Heure d'exécution pour 1.000.000 tests: 5.2393000125885
sec
Supprimer la première lettre avec preg_replace ()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Heure d'exécution pour 1.000.000 tests: 6.8543920516968
sec
Voici le code
$str = substr($str, 1);
echo $str;
Sortie:
this is a applepie :)
Après d'autres tests, je ne recommande plus de l'utiliser. Cela posait un problème lorsque j'utilisais la chaîne mise à jour dans une requête MySQL et que le passage à substr
corrigeait le problème. J'ai envisagé de supprimer cette réponse, mais les commentaires suggèrent qu'elle est plus rapide, afin que quelqu'un puisse en avoir une utilisation. Vous pouvez constater que le fait de couper la chaîne mise à jour résout les problèmes de longueur de chaîne.
Parfois, vous n'avez pas besoin d'une fonction:
$str[0] = '';
Par exemple:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
Cette méthode modifie la chaîne existante plutôt que d'en créer une autre.
$str = substr($str, 1);
echo substr('abcdef', 1); // bcdef
Remarque:
unset($str[0])
ne fonctionnera pas car vous ne pouvez pas supprimer une partie d'une chaîne: -
Fatal error: Cannot unset string offsets
La réponse acceptée:
$str = ltrim($str, ':');
fonctionne mais supprimera plusieurs :
quand il y en a plusieurs au début.
$str = substr($str, 1);
enlèvera tout caractère du début.
Cependant,
if ($str[0] === ':')
$str = substr($str, 1);
fonctionne parfaitement.
vous pouvez utiliser la fonction sbstr ()
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Élimine les occurrences de chaque mot dans un tableau depuis le début et la fin d'une chaîne, ainsi que des espaces et éventuellement des caractères simples supplémentaires, comme dans l'ajustage normal ()
<?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"
?>
Pour supprimer le premier caractère de chaîne en PHP,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
Le code fonctionne bien pour moi.
$str = substr($str ,-(strlen($str)-1));
Peut-être, contribuez avec des réponses aussi.
utiliser la fonction mb_substr
mb_substr("我abc", 1);