r - 如何隔离R中字符串中的某些字母?
问题描述
我需要 为所有存在 Q2 或 Q4 的值找到一个索引。
所以基本上跳过了标题的第一个元素。我需要保存:3,5,7,9..... 直到对象结束。
我该如何分析字符串?
这是代码:
line = c("ISSUE_CUR", "1993-Q1", "1993-Q2", "1993-Q3", "1993-Q4", "1994-Q1",
"1994-Q2", "1994-Q3", "1994-Q4", "1995-Q1", "1995-Q2", "1995-Q3",
"1995-Q4", "1996-Q1", "1996-Q2", "1996-Q3", "1996-Q4", "1997-Q1",
"1997-Q2", "1997-Q3", "1997-Q4", "1998-Q1", "1998-Q2", "1998-Q3",
"1998-Q4", "1999-Q1", "1999-Q2", "1999-Q3", "1999-Q4", "2000-Q1",
"2000-Q2", "2000-Q3", "2000-Q4", "2001-Q1", "2001-Q2", "2001-Q3",
"2001-Q4", "2002-Q1", "2002-Q2", "2002-Q3", "2002-Q4", "2003-Q1",
"2003-Q2", "2003-Q3", "2003-Q4", "2004-Q1", "2004-Q2", "2004-Q3",
"2004-Q4", "2005-Q1", "2005-Q2", "2005-Q3", "2005-Q4", "2006-Q1",
"2006-Q2", "2006-Q3", "2006-Q4", "2007-Q1", "2007-Q2", "2007-Q3",
"2007-Q4", "2008-Q1", "2008-Q2", "2008-Q3", "2008-Q4", "2009-Q1",
"2009-Q2", "2009-Q3", "2009-Q4", "2010-Q1", "2010-Q2", "2010-Q3",
"2010-Q4", "2011-Q1", "2011-Q2", "2011-Q3", "2011-Q4", "2012-Q1",
"2012-Q2", "2012-Q3", "2012-Q4", "2013-Q1", "2013-Q2", "2013-Q3",
"2013-Q4", "2014-Q1", "2014-Q2", "2014-Q3", "2014-Q4", "2015-Q1",
"2015-Q2", "2015-Q3", "2015-Q4", "2016-Q1", "2016-Q2", "2016-Q3",
"2016-Q4", "2017-Q1", "2017-Q2", "2017-Q3", "2017-Q4", "2018-Q1",
"2018-Q2", "2018-Q3", "2018-Q4", "2019-Q1", "2019-Q2", "2019-Q3",
"2019-Q4")
解决方案
我们可以通过在字符串的末尾 ( )grep
匹配 'Q2' 或 ( ) 'Q4' 来使用返回索引|
$
grep("(Q2|Q4)$", line)
#[1] 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61
#[31] 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109
或者“Q”可以放在外面,因为它很常见
grep("Q(2|4)$", line)
或者另一种选择是endsWith
which(endsWith(line, "Q2")|endsWith(line, "Q4"))
推荐阅读
- python - 已将 django-rest-framework 更新到最新版本,为什么仍然有 `No module named 'django.core.urlresolvers'` 错误?
- c# - 将 Java.Lang.Object 强制转换为接口
- php - 从数据库中获取多个数据(左右)
- c# - 多个连接和逻辑运算符
- angular - 当预期只有 1 个 http 请求时,Angular HttpClient 会发出多个 http 请求
- c++ - 根据抽象类快速确定子类
- documentation - 不要使用 p6doc 显示声明符块
- influxdb - InfluxDB - 在基于标签的 where 子句中包含多个值
- java - 调用 newExtendendItem 后 ExtendedItemHandle null
- qt - 我创建了一个 QToolButton,标签将包含“...”,但看起来 Qt 删除了它们,对吗?