【问题标题】:gsub extract two wordsgsub 提取两个单词
【发布时间】:2013-02-05 21:35:57
【问题描述】:

我无法理解gsub()。如果文本是:

 text <- "Genus_species_1652_NL"

我如何提取得到

"Genus species"

谢谢。这是一个有用的链接,但我无法对其进行排序 http://biostat.mc.vanderbilt.edu/wiki/pub/Main/SvetlanaEdenRFiles/regExprTalk.pdf

【问题讨论】:

  • 你能解释一下为什么你会使用gsub()而不是strsplit()吗?您的工作受到哪些限制?
  • 如果您要尝试strsplit,一个选项可能是:unlist(lapply(strsplit(text, "_",), "[", 1:2))
  • @NickCrouch,您能否接受一个作为答案,这样问题就不会保持开放?两个答案都清楚地给出了您的要求。

标签: r gsub


【解决方案1】:

你可以这样做:

> gsub('([A-z]+)_([A-z]+)_.*', '\\1 \\2', text)
[1] "Genus species"

但正如评论中提到的,像 strsplit 这样的工具可能更有用。

【讨论】:

  • 谢谢,我没想到strsplit 但会检查一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
相关资源
最近更新 更多