从 R 中的值之间的字符串中提取数据框

Rei*_*ica 2 string r

我正在做一些编码,R我正在处理一些数据帧被编码为单个字符串的情况,并且有必要能够从字符串中恢复数据帧。字符串采用以下形式:

|Carrot^14|Cucumber^3|Potato^8|
Run Code Online (Sandbox Code Playgroud)

分隔符分隔|数据框的行,分隔符^分隔带有字符值的列和带有数值的列。(为了简化问题,请注意这些符号仅作为分隔符出现 --- 它们永远不会出现在数据框中的值中。)与此字符串对应的数据框将是:

 Vegetable  Quantity
  "Carrot"        14
"Cucumber"         3
  "Potato"         8
Run Code Online (Sandbox Code Playgroud)

我希望能够解码一个字符串以提取它编码的数据帧。我知道这将需要某种regexp查询,但我不太确定该怎么做。我也不确定数据框和单个字符串之间的这种对应关系是否具有任何特定名称,可以引导我了解有关该技术的更多信息。

我的问题:这种从数据框到单个字符串(并返回)的编码是否具有特定名称?如何解码中的字符串R

H 1*_*H 1 5

您可以将竖线交换为换行符,然后使用read.table().

txt <- "|Carrot^14|Cucumber^3|Potato^8|"

read.table(text = gsub("\\|", "\n", txt), sep = "^", col.names = c("Vegetable", "Quantity"))

  Vegetable Quantity
1    Carrot       14
2  Cucumber        3
3    Potato        8
Run Code Online (Sandbox Code Playgroud)