J'ai une chaîne d'entrée comme :
$str = ':this is a applepie :) ';
Comment supprimer la première occurrence :
avec PHP ?
Résultat souhaité : this is a applepie :)
J'ai une chaîne d'entrée comme :
$str = ':this is a applepie :) ';
Comment supprimer la première occurrence :
avec PHP ?
Résultat souhaité : this is a applepie :)
En substr()
vous aidera probablement dans ce domaine :
$str = substr($str, 1);
Les chaînes de caractères sont indexées à partir de 0, et le deuxième paramètre de cette fonction prend le début de la coupe. Donc 1, et le premier caractère disparaît.
Attention à l'unicode. Si vous avez affaire à une chaîne de caractères arbitraire (par exemple, "Ål <- anguille en danois"), vous devez utiliser mb_substr et spécifier l'encodage.
Cette implémentation n'est pas correcte, elle ne fonctionne pas avec la chaîne de caractères unique "a". Si vous essayez une chaîne de caractères unique, substr renvoie une valeur booléenne.
Pour supprimer tous les :
à partir du début d'une chaîne de caractères, vous pouvez utiliser ltrim :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
Notez que cette fonction n'est destinée qu'aux caractères uniques. ltrim coupe tous les caractères de la chaîne fournie : ltrim('prefixprefix_postfix', 'prefix')
se traduit par '_postfix';
Temps d'exécution pour les 3 réponses :
Retirer la première lettre en remplaçant la casse
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Temps d'exécution pour 1.000.000 de tests : 0.39602184295654
sec
Supprimer la première lettre avec substr()
$str = "hello";
$str = substr($str, 1);
Temps d'exécution pour 1.000.000 de tests : 5.153294801712
sec
Supprimer la première lettre avec ltrim()
$str = "hello";
$str= ltrim ($str,'h');
Temps d'exécution pour 1.000.000 de tests : 5.2393000125885
sec
Supprimer la première lettre avec preg_replace()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Temps d'exécution pour 1.000.000 de tests : 6.8543920516968
sec
Merci. Voir ma mise à jour. Cela m'a posé un problème lorsque j'ai utilisé la chaîne mise à jour dans une requête SQL.
Je viens d'essayer le $str[0] = '';
solution et il n'a pas Il est vrai que cela fonctionne, mais si vous prévoyez ensuite d'utiliser la variable, par exemple pour comparer les résultats de l'enquête, il est possible d'utiliser les données de l'enquête. >
o <
cela ne fonctionnera pas. Il compte toujours ` ` comme +` par exemple $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
@Ian : J'ai rencontré le même problème en récupérant des enregistrements d'une API à l'aide d'un mot-clé. var_dump($keyword)
qui affichait la longueur de caractère précédente puis j'ai essayé de couper le mot-clé et cela a fonctionné correctement. var_dump(trim($keyword))
.. J'espère que cela aidera quelqu'un :)
$str = substr($str, 1);
Voir Manuel PHP exemple 3
echo substr('abcdef', 1); // bcdef
Nota:
unset($str[0])
ne fonctionnera pas car il n'est pas possible d'annuler une partie d'une chaîne de caractères :-)
Fatal error: Cannot unset string offsets
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Duplication possible de PHP Soustraire le premier caractère d'une chaîne de caractères
1 votes
Duplication possible de Supprimer les 4 premiers caractères d'une chaîne de caractères php