当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R startsWith 字符串是否以另一个字符串开头或结尾?


R语言 startsWith 位于 base 包(package)。

说明

确定 x 的条目是否分别以字符串(条目)prefixsuffix 开头或结尾,其中字符串被回收为公共长度。

用法

startsWith(x, prefix)
  endsWith(x, suffix)

参数

x

考虑“starts” 或“ends” 的character 向量。

prefix, suffix

character 向量,通常长度为 1,即字符串。

细节

startsWith() 相当于但比

  substring(x, 1, nchar(prefix)) == prefix  

或者也

  grepl("^<prefix>", x)  

其中 prefix 不包含特殊正则表达式字符(对于 greplx 不包含缺失值,请参见下文)。

该代码有一个针对最常见用法的优化分支,其中 prefixsuffix 的长度为 1,并且在 UTF-8 或 8 字节语言环境(如果是 ASCII 字符串)中进一步优化。

logical 向量, “common length” 或 xprefix (或 suffix ),即两个长度中较长的一个,除非当结果也是零长度时其中一个为零。较短的输入被回收到输出长度。

例子

startsWith(search(), "package:") # typically at least two FALSE, nowadays often three

x1 <- c("Foobar", "bla bla", "something", "another", "blu", "brown",
        "blau blüht der Enzian")# non-ASCII
x2 <- cbind(
      startsWith(x1, "b"),
      startsWith(x1, "bl"),
      startsWith(x1, "bla"),
        endsWith(x1, "n"),
        endsWith(x1, "an"))
rownames(x2) <- x1; colnames(x2) <- c("b", "b1", "bla", "n", "an")
x2

## Non-equivalence in case of missing values in 'x', see Details:
x <- c("all", "but", NA_character_)
cbind(startsWith(x, "a"),
      substring(x, 1L, 1L) == "a",
      grepl("^a", x))

也可以看看

greplsubstring;部分字符串匹配函数charmatchpmatch 解决不同的任务。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Does String Start or End With Another String?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。