Home > OS >  How to get an element from a text string in R
How to get an element from a text string in R

Time:06-29

> my_data <- "08,23,02.06.2022,5,7,THISPRODUCT,09.02.2022,yes,89,25"
> lengths(gregexpr(",", my_data)) 1
[1] 10

I need to get each element individually. I tried with print(gregexpr(",", my_data))[[1]][1]

> print(gregexpr(",", my_data))[[1]][1]
[[1]]
[1]  3  6 17 19 21 33 44 48 51
attr(,"match.length")
[1] 1 1 1 1 1 1 1 1 1
attr(,"index.type")
[1] "chars"
attr(,"useBytes")
[1] TRUE

[1] 3

but my_data has the first element "08" but it displays 3.. anyone give me correct syntax to display every element.

CodePudding user response:

library(tidyverse)

strings <- "08,23,02.06.2022,5,7,THISPRODUCT,09.02.2022,yes,89,25" %>% 
  str_split(pattern = ",") %>% 
  unlist()

strings[1]
#> [1] "08"

Created on 2022-06-29 by the reprex package (v2.0.1)

CodePudding user response:

Let's try scan

> scan(text = my_data, what = "",sep = ",",quiet = TRUE)
 [1] "08"          "23"          "02.06.2022"  "5"           "7"
 [6] "THISPRODUCT" "09.02.2022"  "yes"         "89"          "25"

CodePudding user response:

Using lapply:

lapply(strsplit(my_data, ","), `[`)

Output:

[[1]]
 [1] "08"          "23"          "02.06.2022"  "5"           "7"           "THISPRODUCT" "09.02.2022"  "yes"        
 [9] "89"          "25"  

CodePudding user response:

You can simply do:

unlist(strsplit(my_data, split = ","))
  • Related