R语言--字符处理(stringr包)

Python025

R语言--字符处理(stringr包),第1张

stringr 包中的大部分函数具有统一风格的命名方式,以 str_ 开头,正则表达式也完全适用该包。

字符拼接函数 str_c ,与R语言自带的 paste 和 paste0 函数具有相同的作用。

字符计数函数 str_count ,计算字符串中指定字符的个数。

字符检查函数 str_detect ,检查字符串中是否包含指定字符,返回逻辑向量。

字符复制函数 str_dup ,将字符向量重复若干次,返回重复后的字符向量。

字符提取函数 str_extract 和 str_extract_all ,对字符串进行提取, str_extract_all 函数返回所有的匹配结果。

字符串格式化函数 str_glue ,用花括号 {} 表示占位符,括号内的变量被替换成全局变量值。

字符串长度函数 str_length ,计算字符串长度。

字符位置提取函数 str_locate 和 str_locate_all ,返回匹配到的字符的位置。

字符匹配函数 str_match 和 str_match_all 与字符提取函数 str_extract 类似,返回匹配到的字符,不同之处在于返回格式。

字符补齐函数 str_pad ,用于在字符串中添加单个字符,可选择添加的位置,在参数 side 中进行设置。

字符删除函数 str_remove 和 str_remove_all ,用于删除字符串中的部分字符。

字符替换函数 str_replace 、 str_replace_all 和 str_replace_na ,用于替换字符串中的部分字符。

字符排序函数 str_sort 和 str_order ,对字符向量进行排序。

字符分割函数 str_split 和 str_split_fixed ,对字符串进行分割。

字符过滤函数 str_sub 和 str_subset , str_sub 函数通过指定开始和结束位置,过滤出字符串的部分字符串。 str_subset 函数通过匹配模式,过滤出满足模式的字符串。

stringr 包中其他的有用函数,用于常见的字符处理。

1.length(字符串/向量):返回向量中元素的个数

2.nchar(字符串/向量):返回每个元素字符串的个数

下面这个截图可以形象的说明两者之间的区别:

3.paste(向量/字符串):用于粘贴字符串,将多个字符串合并成一个:

5.paste函数连接向量和字符串,根据R语言向量化处理的逻辑,并不是将字符串添加到向量的尾部,而是向量中的 每个 元素分别与字符串相连。

1. substr函数 用于提取字符串,很有用的函数,函数的参数分别是一个原始的字符串,一个起始点和一个结束点,函数返回起始点和结束点之间的字符串

sub函数 只进行一次替换, gsub函数 进行全局替换

2. gsub函数 :向量中的每个字符的第一个字母都变成大写,括号里面写成正则表达式替换的形式,其中倒三角 ^ 表示首字母, \w 表示字符集的简写,代表所有小写字符, \U 表示转化为大写, \L 表示转化为小写,后面的 1 表示只转换一次。后面接perl逻辑值

1. grep函数 用于在字符串中搜索某种模式,fixed函数是是否进行正则表达式,如果 fixed=FALSE ,则支持正则表达式;如果 fixed=TURE ,则搜索模式为一个文本字符串,返回值为匹配的下标。

结果:

1. strsplit函数 用于字符串分割,根据固定规则将一个长的字符串分割为多份,在字符串处理中,分割字符串也是关键的步骤之一,函数返回列表而非向量。这是因为第一个参数的字符串可以是一个向量,向量中可以包含多个子串,返回时是列表也方便处理。

有两个字符串,我们需要生成他们的所有组合,这也叫做笛卡尔积,在实际问题中也很常用,这需要使用到 outer函数