stringr 与 regex 函数对应关系

By 谢士晨 in DataScience

July 25, 2017

stringr 是 Hadley 大神写的 tidyverse1 系列数据处理包中专门用于处理文本数据的,其函数命名统一易于记忆。而 R 基础包中的文本处理函数 (regex) 的命名规则不是特别统一。下表给出了主要函数之间的映射关系,便于以后查看2

stringr包中函数 功能说明 R Base 中对应函数
使用正则表达式的函数
str_extract() 提取首个匹配模式的字符 regmatches()
str_extract_all() 提取所有匹配模式的字符 regmatches()
str_locate() 返回首个匹配模式的字符的位置 regexpr()
str_locate_all() 返回所有匹配模式的字符的位置 gregexpr()
str_replace() 替换首个匹配模式 sub()
str_replace_all() 替换所有匹配模式 gsub()
str_split() 按照模式分割字符串 strsplit()
str_split_fixed() 按照模式将字符串分割成指定个数 -
str_detect() 检测字符是否存在某些指定模式 grepl()
str_count() 返回指定模式出现的次数 -
其他重要函数
str_sub() 提取指定位置的字符 regmatches()
str_dup() 丢弃指定位置的字符 -
str_length() 返回字符的长度 nchar()
str_pad() 填补字符 -
str_trim() 丢弃填充,如去掉字符前后的空格 -
str_c() 连接字符 paste(),paste0()

  1. r 与 python 中三个数据处理系列包: data.tabletidyversepandas ↩︎

  2. stringr 网站也给出了两者的映射关系 ↩︎