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 : Sélectionner tout - Visualiser dans une fenêtre à part
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"
Partager