IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Supprimer une sous chaine dans une chaine de caractères


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut Supprimer une sous chaine dans une chaine de caractères
    Bonjour à tous,

    voilà je viens demander votre aide car j'essaye de trouver une fonction qui permet de supprimer une sous chaine dans une chaine de caractères mais on dirait qu'elle n'existe pas. Y aurait-il une autre manière de procéder ?

    Mon problème

    J'ai une chaine de ce genre là : ;XX;XXX;XXX;

    XX étant des nombres. J'aimerai pouvoir supprimer n'importe quel "XXX" facilement pour me retrouver par exemple la chaine : ;XX;XXX;

    Comment faire cela simplement ?

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut
    Bonjour,

    une piste peut-être : tu peux éclater ta chaîne de caractères avec la fonction explode(), et la reconstruire avec les éléments qui t'intéressent.

  3. #3
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    euh... bah euh si ça existe : preg_replace().

    Par exemple, une expression régulière possible pourrait être dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // non testé, mais c'est l'idée
    $base = ';12;345;789;';
    $pattern = '!(;[0-9]{2};)([0-9]{3})(;[0-9]{3};)!';
    $result = preg_replace($pattern, '$1$2', $base);
    N'hésite pas à bien lire la doc du lien que je t'ai donné

  4. #4
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    et comment il fait si sa chaine est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine = "12;54;15;...;n;";
    sa fonctionne ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $patern = "#([0-9];{1,3})#";
    $result = preg_replace($patern, "\$".$i, $chaine);
    (je suis pas bon en RegExp alors j'en profite pour poser ma quetion) ^^

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2013, 16h49
  2. Réponses: 3
    Dernier message: 13/10/2010, 20h09
  3. [RegEx] Remplacement de chaine dans une sous chaine
    Par fpouget dans le forum Langage
    Réponses: 4
    Dernier message: 23/02/2010, 09h49
  4. Réponses: 6
    Dernier message: 13/11/2009, 17h06
  5. recherche d'une chaine dans une sous chaine
    Par claralavraie dans le forum Oracle
    Réponses: 1
    Dernier message: 31/07/2006, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo