0
votes

Extraire les nombres de la chaîne de caractères à l'aide de motifs dans R

J'ai besoin d'aide d'aide à extraire des numéros de code spécifiques à partir d'une chaîne de caractères dans R. Par exemple, j'ai les données suivantes: xxx

J'ai besoin des numéros de code (avec 9 numéros toujours) qui apparaissent à la fin de la chaîne de caractères. Enfin, créez une colonne de besoin dans mon cadre de données avec: xxx

J'apprécie toute aide.


0 commentaires

3 Réponses :


3
votes

Vous pouvez utiliser sous code> pour extraire un numéro de 9 chiffres à la fin de la chaîne. xxx pré>

Vous pouvez envelopper as.numérique code> Pour convertir cette chaîne en un nombre. p>

similaire à l'aide de str_extract code> à partir de stringr code>. p>

stringr::str_extract(df$V1, '\\d{9}(?=\\))')


2 commentaires

Et si j'ai des cordes comme "amoxiciline 300 mg (100005324)" (pas d'espace dans le numéro de code et le reste de la description), "Ibuprofeno 100002345" (non "(" comme motif similaire). Juste sûr, je sais que le code a 9 chiffres .


@Diegogonzalezavalos Dans ce cas, vous pouvez faire stringr :: str_extract (df $ v1, '\\ d {9}') tp obtenir 9 chiffres dans la chaîne.



0
votes

Peut-être pas la solution la plus élégante: xxx


0 commentaires

0
votes

Certaines options TideverSverse:

xx <- c("AMOXICIL/CLAVULAN 875/125 MG CM/CM REC (100000126)", "HIDROCLOROTIAZIDA CM (50 MG) CONTENIDO (100028929)", "ZIDOVUDINA 10 MG/ML O 50 MG/5 ML SOL ORAL O JARABE (500001802)")


stringr::str_sub(xx, -11) %>% readr::parse_number()   # outputs as numeric
stringr::str_sub(xx, -10, -2)                         # outputs as character


0 commentaires