r
  • escaping
  • concatenation
  • string-concatenation
  • 2016-08-24 1 views 0 likes 
    0

    J'essaie de concaténer deux chaînes. La première chaîne devrait ressembler à ce qui suit:Comment concaténer une chaîne entre guillemets et parenthèses dans R

    a <- paste("//*/a[@href = 'abcd1234.cfmcyc_dt=",eopm, "&orig_id=1234']",sep="") 
    > a 
    [1] "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']" 
    

    Ensuite, je veux ajouter la deuxième chaîne qui est juste une parenthèse de fermeture comme ceci:

    b <- ")" 
    c <- noquote(b) 
    [1]) 
    

    J'essayez ce qui suit, mais les guillemets doubles est déplacé à la fin:

    paste(a,c) 
    "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234'])" 
    

    Je veux qu'il ressemble à ceci:

    "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']") 
    

    J'ai essayé de travailler en échappant aux guillemets mais je n'arrive pas à l'obtenir.

    +1

    Pourquoi faites-vous cela? Les parenthèses externes sont seulement montrées parce que c'est une chaîne de caractères. Ils ne sont pas vraiment là. 'noquote' ne va pas aider, btw. Si vous essayez d'assembler un appel de fonction avec des chaînes, arrêtez-vous et faites-le dans le bon sens. –

    +0

    Si les réponses vous ont effectivement aidé à résoudre le problème, sélectionnez-en une et fermez la question. S'il y a autre chose que vous cherchez, vous pouvez mettre à jour les détails de la question. Nous serions heureux d'y répondre. :) –

    Répondre

    1

    Essayez de faire de cette façon:

    a <- paste("//*/a[@href = 'abcd1234.cfmcyc_dt=", 'eopm' , "&orig_id=1234']",sep="") 
    b <- '")' 
    c <- noquote(b) 
    

    Résultat

    paste(a, c) 
    [1] "//*/a[@href = 'abcd1234.cfmcyc_dt=eopm&orig_id=1234'] \")" 
    
    -1

    Essayez ceci:

    eopm <- 20160731  
    a <- paste0("//*/a[@href = 'abcd1234.cfmcyc_dt=",eopm, "&orig_id=1234']") 
    b <- '")' 
    c <- noquote(b) 
    noquote(paste0('"',a,c)) 
    

    Résultat:

    > noquote(paste0('"',a,c)) 
    [1] "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']") 
    
    +0

    Selon ce que vous avez posté, votre solution ne produit pas vraiment la bonne réponse. –

    +0

    J'ai édité la réponse parce que j'ai oublié de copier l'ensemble de la variable eopm, mais il produit le résultat –

    +0

    Après l'édition, maintenant il le fait. :) –

     Questions connexes

    • Aucun problème connexe^_^