R语言 gsub()函数
摘要: R语言,字符串替换函数,sub函数,gsub函数
R语言 gsub()函数详解与示例 用途:R语言字符串替换函数 语法: R语言中替换首次出现的字符串: sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,fixed = FALSE, useBytes = FALSE) R语言中替换所有出现的字符串: gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,fixed = FALSE, useBytes = FALSE) 参数说明: pattern:需要被替换的字符串,例如把a替换成b,则pattern需要输入a; replacement:用来替换的字符串,例如把a替换成b,则replacement需要输入b; x:目标字符串/字符向量,也就是需要从这里面来搜索匹配内容。 ignore.case:如果输入FALSE,则模式匹配需要区分大小写;如果输入TRUE,则匹配的时候会忽略大小写。不填时默认是FALSE,即要区分大小写。 perl:逻辑变量。是否应该使用Perl兼容的regexp?不填时默认FALSE。 fixed:逻辑变量。如果输入TRUE,则pattern是一个字符串,将原样匹配,而且会覆盖所有冲突参数。不填时默认FALSE。 useBytes:逻辑变量。如果输入TRUE,则将会逐个字节匹配而不是逐个字符匹配。不填时默认FALSE。 示例: > sub(pattern = 'a',replacement = 'A',x=c('www.idata8.com','爱数吧idata8')) #替换字符向量的每一个字符串中首次出现的a [1] "www.idAta8.com" "爱数吧idAta8" > gsub(pattern = 'a',replacement = 'A',x=c('www.idata8.com','爱数吧idata8'))#替换字符向量的每一个字符串中所有的a [1] "www.idAtA8.com" "爱数吧idAtA8" 实际使用中可以不输入参数名 > sub('a','A',c('www.idata8.com','爱数吧idata8')) #替换字符向量的每一个字符串中首次出现的a [1] "www.idAta8.com" "爱数吧idAta8" > gsub('a','A',c('www.idata8.com','爱数吧idata8'))#替换字符向量的每一个字符串中所有的a [1] "www.idAtA8.com" "爱数吧idAtA8" 匹配与替换字符串时是否区分大小写: > gsub('a','x',c('www.idatA8.com','爱数吧idAta8'),ignore.case=TRUE)#不区分大小写 [1] "www.idxtx8.com" "爱数吧idxtx8" > gsub('a','x',c('www.idatA8.com','爱数吧idAta8'),ignore.case=FALSE) #区分大小写 [1] "www.idxtA8.com" "爱数吧idAtx8" R语言将多个不同字符一次替换成同一个字符: > gsub('[ia]','X',c('www.idata8.com','爱数吧idata8')) #将i和a都替换成X,'[]'内的字符串会被识别成单个字符替换 [1] "www.XdXtX8.com" "爱数吧XdXtX8" > gsub(c('8','id'),'X',c('www.idata8.com','爱数吧idata8')) #需要被替换的内容为字符向量时只有第一个元素会被使用 [1] "www.idataX.com" "爱数吧idataX" Warning message: In gsub(c("8", "id"), "X", c("www.idata8.com", "爱数吧idata8")) : argument 'pattern' has length > 1 and only the first element will be used R语言利用gsub函数替换字符串中的加号 > gsub("+","@","1+2=3") #如果直接数据加号"+",会被识别成字符串中单个字符间的连接字符 [1] "@1@+@2@=@3@" > gsub("\\+","@","1+2=3") #R语言要替换字符串中的加号,需要用"\\+" [1] "1@2=3" 补充说明:R语言中替换字符串时sub函数与gsub函数的区别 sub仅替换每个字符串中首次出现的内容,而gsub会替换每个字符串中所有出现的内容。 |
最新评论