R是否具有像python一样的开头或结尾的功能?

时间:2015-07-17 02:55:36

标签: python r string startswith ends-with

标题中的问题非常明确。

6 个答案:

答案 0 :(得分:76)

作为added to base in 3.3.0startsWith(和endsWith)就是这样。

> startsWith("what", "wha")
[1] TRUE
> startsWith("what", "ha")
[1] FALSE

https://stat.ethz.ch/R-manual/R-devel/library/base/html/startsWith.html

答案 1 :(得分:23)

不像那样内置。

选项包括greplsubstr

x <- 'ABCDE'
grepl('^AB', x) # starts with AB?
grepl('DE$', x) # ends with DE?
substr(x, 1, 2) == 'AB'
substr('ABCDE', nchar(x)-1, nchar(x)) == 'DE'

答案 2 :(得分:11)

dplyr软件包的select语句支持starts_withends_with。例如,这会选择以Petal

开头的虹膜数据框的列
library(dplyr)
select(iris, starts_with("Petal"))

select也支持其他子命令。试试?select

答案 3 :(得分:5)

我能想到的最简单的方法是使用%like%运算符:

library(data.table)

"foo" %like% "^f" 

评估为TRUE - 从 f

开始
"foo" %like% "o$" 

评估为TRUE - 以 o

结尾
"bar" %like% "a"

评估为TRUE - 包含 a

答案 4 :(得分:3)

使用子字符串函数相对简单:

 _setElement: function(el) {
      this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);
      this.el = this.$el[0];
    },

使用子字符串将每个字符串剪切为所需的长度。长度是您在每个字符串开头查找的字符数。

答案 5 :(得分:3)

借用arr[0]=11, arr[1]= 20, p=20 [see this]中的一些代码,您可以执行以下操作:

dplyr