美文网首页
R_字符串替换函数(正则)

R_字符串替换函数(正则)

作者: Lucky_Gao | 来源:发表于2018-10-28 02:45 被阅读0次

常用函数

  1. grep、 grepl、regexpr、gregexpr and regexec
  2. sub、gsub。

参数说明

  • pattern----匹配正则表达式,或者字符串(当fixed = TRUE)
  • x,text----需要匹配的字符向量(data)
  • ignore.case ----是否忽略大小写。FALSE:否。TURE:是
  • perl ----logical。是否用兼容模式正则?--搞不懂,默认
  • value----如果为FALSE,则返回一个包含grep确定的匹配的(整数)索引的向量,如果为TRUE,则返回一个包含匹配元素本身的向量
  • fixed----logical。如果为TURE,直接匹配字符串。
  • useBytes----如果为TURE,按照字节匹配,而不是字符。
  • invert----logical。如果为TURE,返回不匹配元素的索引或者值。
  • replacement----替代字符串。

模式说明

  1. fixed = TRUE: 精确匹配。
  2. perl = TRUE: use Perl-style regular expressions.
  3. fixed = FALSE, perl = FALSE: use POSIX 1003.2 extended regular expressions (the default).默认,使用未知的东东--。

sub

描述:只替换第一个查询的字符串。

    #用法:
    >>sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,
       fixed = FALSE, useBytes = FALSE)     
    #样例:
    data = fread("data.csv")
    names(data)
    #*>>user_date
    data$user_date
    #*>>2018/10/28 需要替换成2018-10-28
    data = data[,user_date := sub('/','-',data)]$user_date
    #*>>2018-10/28

gsub

描述:替换所有的字符串。

    >> gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,
 fixed = FALSE, useBytes = FALSE)


    data = fread("data.csv")
    names(data)
    #*>>user_date
    data$user_date
    #*>>2018/10/28 需要替换成2018-10-28
    data[,user_date := gsub('/','-',data)]$user_date
    #*>>2018-10-28

grep

描述:返回匹配数据的位置。

    >> grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE,
 fixed = FALSE, useBytes = FALSE, invert = FALSE)
  
    grep('^flag_',names(data))
    >>[1]   10   19   50   65   79
     [6]  153  154  298  326  426
    [11] 1346

grepl

描述:返回所有匹配的逻辑值。

    >> grepl(pattern, x, ignore.case = FALSE, perl = FALSE,
  fixed = FALSE, useBytes = FALSE)

     grepl('^flag_',names(data))
    >> [1] FALSE FALSE FALSE FALSE
         [5] FALSE FALSE FALSE FALSE
         [9] FALSE  TRUE FALSE FALSE
        [13] FALSE FALSE FALSE FALSE...

相关文章

网友评论

      本文标题:R_字符串替换函数(正则)

      本文链接:https://www.haomeiwen.com/subject/kvtptqtx.html