使用stringr处理字符串
本章通过学习字符串的处理,再结合正则表达式进行正确的模式匹配。
字符串基础
创建字符串
可以使用单引号或双引号来创建字符串:
string1 <- "This is a string" string2 <- 'To put a "quote" inside a string, use single quotes'
如果想要在字符串中包含一个单引号或双引号,可以使用 \ 对其进行“转义”:
double_quote <- "\"" # or '"' single_quote <- '\'' # or "'"
多个字符串通常保存在一个字符向量中,你可以使用c()
函数来创建字符向量:
c("one", "two", "three") #> [1] "one" "two" "three"
字符串长度
str_length()
函数可以返回字符串中的字符数量:
str_length("abc") #> [1] 3
字符串向量也适用:
str_length(c("a", "R for data science", NA)) #> [1] 1 18 NA
字符串组合
要想组合两个或更多字符串,可以使用str_c()
函数:
str_c("x", "y") #> [1] "xy" str_c("x", "y", "z") #> [1] "xyz"
可以使用 sep 参数来控制字符串间的分隔方式:
str_c("x", "y", sep = ", ") #> [1] "x, y"
字符串取子集
可以使用str_sub()
函数来提取字符串的一部分。除了字符串参数外,str_sub() 函数中还 有 start 和 end 参数,它们给出了子串的位置(包括 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"