una sustraer separar palabra manejo funcion caracteres cadenas cadena buscar r split strsplit

sustraer - strsplit r



R: divisiĆ³n de una cadena entre dos caracteres usando strsplit() (1)

1) strsplit con matrix Prueba esto:

> matrix(strsplit(s, "[;=]")[[1]], 2)[2,] [1] "MIMAT0027618" "MIMAT0027618" "hsa-miR-6859-5p" "MI0022705"

2) strsplit con gsub o este uso de strsplit con gsub :

> strsplit(gsub("[^=;]+=", "", s), ";")[[1]] [1] "MIMAT0027618" "MIMAT0027618" "hsa-miR-6859-5p" "MI0022705"

3) strsplit con sub o este uso de strsplit con sub :

> sub(".*=", "", strsplit(s, ";")[[1]]) [1] "MIMAT0027618" "MIMAT0027618" "hsa-miR-6859-5p" "MI0022705"

4) strapplyc o esto que extrae signos consecutivos que no son punto y coma después de signos iguales:

> library(gsubfn) > strapplyc(s, "=([^;]+)", simplify = unlist) [1] "MIMAT0027618" "MIMAT0027618" "hsa-miR-6859-5p" "MI0022705"

AGREGADO soluciones de strplit adicionales.

Digamos que tengo la siguiente cadena:

s <- "ID=MIMAT0027618;Alias=MIMAT0027618;Name=hsa-miR-6859-5p;Derives_from=MI0022705"

Me gustaría recuperar las cadenas entre ";" y "=" para obtener el siguiente resultado:

[1] "MIMAT0027618" "MIMAT0027618" "hsa-miR-6859-5p" "MI0022705"

¿Puedo usar strsplit() con más de un elemento dividido?