Extraire une chaîne de mots entre deux mots dans la R
J'ai la chaîne suivante : "PRODUCT colgate good but not goodOKAY"
Je veux extraire tous les mots entre PRODUCT
et OKAY
OriginalL'auteur gyaanseeker | 2015-02-01
Vous devez vous connecter pour publier un commentaire.
Cela peut être fait avec
sub
::
Pas de paquets sont nécessaires.
Ici est une visualisation de l'expression régulière:
Debuggex Démo
OriginalL'auteur G. Grothendieck
Vous pouvez utiliser
gsub
:OriginalL'auteur Sven Hohenstein
(?<=PRODUCT)
-- coup d'oeil derrière le match pourPRODUCT
.*
match de tout à l'exception des nouvelles voies.(?=OKAY)
-- regarder vers l'avant matchOKAY
.Je dois ajouter que vous n'avez pas besoin de la
stingr
package pour cela, la base de fonctionssub
etgsub
beau travail. J'utilise stringr pour la cohérence de la syntaxe: si je suis de l'extraction, de remplacement, de la détection, etc. les noms de fonction sont compréhensible et prévisible, et les arguments sont dans un ordre cohérent. J'utilisestringr
parce que ça m'évite d'avoir besoin de la documentation de tous les temps.OriginalL'auteur Gregor
Vous pouvez utiliser le
rm_between
fonction de la qdapRegex paquet. Il prend une chaîne et un à gauche et à droite de délimitation comme suit:OriginalL'auteur Tyler Rinker