[stringr] Expression Régulière
Bonjour,
Je voudrais extraire une donnée issu d'un pdf. La donnée peut se trouver sous trois configurations.
- la donnée sera toujours encadré par le mot valeur et le caractère (
- cas 1: la donnée est en deux mots, str1 et str2 dont str2 est passé à la ligne.
- cas 2: la donnée est en un seul mot.
- cas 3: la donnée qui est en deux mots sont tous les deux à la ligne
J'utilise la bibliothèque stringr pour employer des expressions régulière. En utilisant cette expression "(?<=valeur\\s).*?(?=\\s\\()" je n'ai réussi qu'a avoir le cas 2 et 3.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
library(stringr)
c1 <- "rgsef ... fcjzdh valeur str1
str2 (dsrge) ... segfs"
c2 <- "erfgze ... sdgegsf valeur str
(dgvdfq) ... dfgqefq"
c3 <- "gvef ... esrfef valeur
str1 str2 (sretgse) ... sefef "
pattern$action <- "(?<=valeur\\s).*?(?=\\s\\()"
> str_match_all(c1, pattern$action)
[[1]]
[,1]
> str_match_all(c2, pattern$action)
[[1]]
[,1]
[1,] "str"
> str_match_all(c3, pattern$action)
[[1]]
[,1]
[1,] "str1 str2" |