如何将一串键/值对(例如响应头)解析为命名字符向量?
input <- "val1=A; val2=B; val3=C"
desired_output <- c(val1 = "A", val2 = "B", val3 = "C")
我添加了两种解决方案,一种基于正则表达式,一种基于
parse
函数。解析解决方案需要引用值,因此它是一个补充。
input <- "val1=A; val2=B; val3=C"
input2 <- "val1='A'; val2='B'; val3='C'"
desired_output <- c(val1 = "A", val2 = "B", val3 = "C")
ee <- new.env()
eval(parse(text = input2), envir = ee)
output_1 <- unlist(as.list(ee))
identical(output_1, desired_output)
#> [1] TRUE
res <- do.call(rbind, strsplit(strsplit(gsub(" ", "", input), ";")[[1]], "="))
output_2 <- res[, 2]
names(output_2) <- res[, 1]
identical(output_2, desired_output)
#> [1] TRUE
创建于 2023-03-11 与 reprex v2.0.2