English · PDF 223
基础 R 包含许多处理字符串的函数,但我们会避免使用它们,因为它们不一致,难以记住。我们将改用 stringr 包中的函数。这些函数的名称更直观,并且都以 str_开头。例如, str_length() 告诉你字符串中的字符数:
str_length(c("a", "R for data science", NA))
#> [1] 1 18 NA
常见的 str_ 前缀在你使用 RStudio 时特别有用,因为输入 str_ 会触发自动补全,让你看到所有 stringr 函数:
要合并两个或多个字符串,请使用 str_c():
str_c("x", "y")
#> [1] "xy"
str_c("x", "y", "z")
#> [1] "xyz"
使用 sep 参数来控制它们的分隔方式:
str_c("x", "y", sep = ", ")
#> [1] "x, y"
与 R 中的大多数其他函数一样,缺失值具有传染性。如果你希望它们显示为 "NA",请使用 str_replace_na():
x <- c("abc", NA)
str_c("|-", x, "-|")
#> [1] "|-abc-|" NA
str_c("|-", str_replace_na(x), "-|")
#> [1] "|-abc-|" "|-NA-|"
如前面的代码所示, str_c() 是向量化的,它会自动将较短的向量循环补齐到与最长向量相同的长度: