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

R Discussion :

Comment éliminer une partie d'une chaine de caractère comprise entre deux patterns


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    postdoc Recherche
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : postdoc Recherche
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment éliminer une partie d'une chaine de caractère comprise entre deux patterns
    Bonjour,

    Je suis assez novice dans la pratique de R.

    J'aurais besoin d'aide, si quelqu'un peut m'aider.

    Voici un exemple de chaine de caractères sur laquelle je travaille :

    (39[&rate_range={3.000598128807736E-4,0.004729686861211141},height_95%_HPD={0.0,3.552713678800501E-15},length_range={8.819702553776578,21.278418086334472},height_median=1.7763568394002505E-15,length_95%_HPD={8.819702553776578,19.046183383948616}]:

    Je souhaiterais obtenir la chaine suivante :

    (39[height_95%_HPD={0.0,3.552713678800501E-15}]:

    C'est-à-dire que j'aimerais enlever deux parties internes à ma chaine de caractères initiale, soit :

    "&rate_range={3.000598128807736E-4,0.004729686861211141},"

    et

    ",length_range={8.819702553776578,21.278418086334472},height_median=1.7763568394002505E-15,length_95%_HPD={8.819702553776578,19.046183383948616}"

    je n'arrive pas à trouver dans les différents manuels et forum les lignes de commande qui me permettraient d'éliminer un bout de chaine contenu entre deux patterns.

    De façon grossière, je voudrais trouver un moyen de dire au logiciel : entre le pattern 1 (p.ex. "[") et le pattern2 (p.ex. "height_95%_HPD="), élimine tout ce qui est contenu dans la chaine.

    Je vous remercie d'avance si vous pouvez m'aider.

    Laure

  2. #2
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Cela depend, mais dans R, vous pouvez utiliser la fonction gsub. Soit ce que vous voulez enlever a toujours la même forme (ici "&rate_range{qqechose},") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine <- "(39[&rate_range={3.000598128807736E-4,0.004729686861211141},height_95%_HPD={0.0,3.552713678800501E-15},length_range={8.819702553776578,21.278418086334472},height_median=1.7763568394002505E-15,length_95%_HPD={8.819702553776578,19.046183383948616}]:"
    gsub("&rate_range=\\{[0-9.E,-]+\\},", "", chaine)
    Soit la partie à enlever est variable, mais est toujours flanquée par "(un_chiffre[" et "height_95lereste"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsub("(^\\([[:digit:]]+\\[).+(height_95.+$)", "\\1\\2", chaine)
    Pour plus d'info sur les expressions rationnelles dans R

    HTH

    Vincent

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2013, 15h57
  2. [RegEx] Retourner une array sur une partie de la chaine
    Par absurdsystem dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2010, 16h03
  3. Récupérer la chaine de caractères comprise entre deux caracteres
    Par zaz147 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 22/09/2008, 17h15
  4. Réponses: 1
    Dernier message: 04/04/2008, 12h14
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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