←
PDF 224 / 520 Subsetting Strings
→
English · PDF 224
Original PDF page 224
中文 · PDF 224

str_c("prefix-", c("a", "b", "c"), "-suffix") #> [1] "prefix-a-suffix" "prefix-b-suffix" "prefix-c-suffix"

长度为 0 的对象会被静默丢弃。这在结合 if 使用时特别有用:

name <- "Hadley" time_of_day <- "morning" birthday <- FALSE str_c( "Good ", time_of_day, " ", name, if (birthday) " and HAPPY BIRTHDAY", "." ) #> [1] "Good morning Hadley."

要将字符串向量合并为单个字符串,可以使用 collapse:

str_c(c("x", "y", "z"), collapse = ", ") #> [1] "x, y, z"

字符串取子集

你可以使用 str_sub() 提取字符串的一部分。除了字符串本身,str_sub() 还接受 start 和 end 参数,用于给出子字符串的(包含在内的)位置:

x <- c("Apple", "Banana", "Pear") str_sub(x, 1, 3) #> [1] "App" "Ban" "Pea" # 负数表示从末尾往前数 str_sub(x, -3, -1) #> [1] "ple" "ana" "ear"

注意,如果字符串太短,str_sub() 不会报错;它只会返回尽可能多的内容:

str_sub("a", 1, 5) #> [1] "a"

你还可以使用 str_sub() 的赋值形式来修改字符串:

str_sub(x, 1, 1) <- str_to_lower(str_sub(x, 1, 1)) x #> [1] "apple" "banana" "pear"