删除R中的字符串的中间部分

时间:2018-02-16 11:23:03

标签: r regex string substring

如何移除刺痛的中间部分? 例如,取字符串 - ' 2018_002.Feb'。 对于这个例子,我想删除' 002。',以便我得到2018_Feb'

任何人都可以帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:3)

我喜欢使用stringr包而不是基本r包用于字符串操作,因为我发现函数的语法更加一致。

library(stringr)

var = "2018_002.Feb"

str_replace(var, pattern = "_\\d+\\.", replacement = "_")

# [1] "2018_Feb"

使用str_replace(),你基本上是在字符串中搜索一个模式,用其他东西替换它。通常替换只是一个空"",但在这种情况下,更容易开始搜索函数找到_字符,因为它是相当独特的。从那里你想要匹配到期间之后的所有数字。

我建议学习一下正则表达式。 R Cheat Sheet中的基本正则表达式是一个很好的资源。

此问题的正则表达式如下所示:

  • 首先找到_字符后跟一个数字\\d并保持匹配 数字+,直到您达到句号\\.
  • 找到匹配项“_002.”后,请将其替换为“_

希望这是可以理解的!