【问题标题】:Using strsplit wid pipe separator in R [duplicate]在R中使用strsplit wid管道分隔符[重复]
【发布时间】:2018-04-23 08:03:12
【问题描述】:

我有一个名为 line 的字符串,如下所示。

"2015-07-22|06:43:44+0000|37e86ffa-dd28-450d-aa9a-3d6776a31337|dummy|t1|USA-4DTV-DEFAULT|USA|MV000375100000|打击距离|MOVIE|TMS|VIEWED_MOVIE |NA|NA|NA|NA|**"

我正在尝试将其拆分为分隔符“|”,如:

strsplit(line, "|")

但输出如下:

  [1] "2" "0" "1" "5" "-" "0" "7" "-" "2" "2" "|" "0" "6" ":" "4" "3" ":"
 [18] "4" "4" "+" "0" "0" "0" "0" "|" "3" "7" "e" "8" "6" "f" "f" "a" "-"
 [35] "d" "d" "2" "8" "-" "4" "5" "0" "d" "-" "a" "a" "9" "a" "-" "3" "d"
 [52] "6" "7" "7" "6" "a" "3" "1" "3" "3" "7" "|" "d" "u" "m" "m" "y" "|"
 [69] "t" "1" "|" "U" "S" "A" "-" "4" "D" "T" "V" "-" "D" "E" "F" "A" "U"
 [86] "L" "T" "|" "U" "S" "A" "|" "M" "V" "0" "0" "0" "3" "7" "5" "1" "0"
[103] "0" "0" "0" "0" "|" "S" "t" "r" "i" "k" "i" "n" "g" " " "D" "i" "s"
[120] "t" "a" "n" "c" "e" "|" "M" "O" "V" "I" "E" "|" "T" "M" "S" "|" "V"
[137] "I" "E" "W" "E" "D" "_" "M" "O" "V" "I" "E" "|" "N" "A" "|" "N" "A"
[154] "|" "N" "A" "|" "N" "A" "|" "*" "*"

它甚至无法识别管道分隔符。

【问题讨论】:

  • strsplit(line, "\\|") 怎么样?

标签: r


【解决方案1】:

只需要在小节前加反斜杠即可:

strsplit(x, "\\|")

例如:

> x <- "Hello | Could you help me please?"
> strsplit(x, "\\|")
[[1]]
[1] "Hello "                     " Could you help me please?"

【讨论】:

  • 最好使用sep = '|', fixed = TRUE -- 代码更清晰易读,速度也会更快
  • 是的,经过测试,它快了大约 3 倍 - 谢谢
猜你喜欢
  • 2018-05-26
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多