當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。