zoukankan      html  css  js  c++  java
  • R语言字符串替换

    R gsub Function

     

    gsub() function replaces all matches of a string, if the parameter is a string vector, returns a string vector of the same length and with the same attributes (after possible coercion to character). Elements of string vectors which are not substituted will be returned unchanged (including any declared encoding).

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


    • pattern: string to be matched
    • replacement: string for replacement
    • x: string or string vector
    • ignore.case: if TRUE, ignore case
    ...

    > x <- "R Tutorial"
    > gsub("ut","ot",x)
    
    [1] "R Totorial"
    


    Case insensitive replace:

    > gsub("tut","ot",x,ignore.case=T))
    
    [1] "R otorial"
    


    If ignore.case is not set to True, no replace take place:

    > gsub("tut","ot",x)
    
    [1] "R Tutorial"
    

     

    > x <- "line 4322: He is now 25 years old, and weights 130lbs"
    > y <- gsub("\d+","---",x)
    > y
    
    [1] "line ---: He is now --- years old, and weights ---lbs"
    

     

    > x <- "line 4322: He is now 25 years old, and weights 130lbs"
    > y <- gsub("[[:lower:]]","-",x)
    > y
    
    [1] "---- 4322: H- -- --- 25 ----- ---, --- ------- 130---"
    


    Vector replacement:

    > x <- c("R Tutorial","PHP Tutorial", "HTML Tutorial")
    > gsub("Tutorial","Examples",x)
    
    [1] "R Examples"    "PHP Examples"  "HTML Examples"
    




    Regular Expression Syntax:
    Syntax Description
    \d Digit, 0,1,2 ... 9
    \D Not Digit
    \s Space
    \S Not Space
    \w Word
    \W Not Word
    \t Tab
    \n New line
    ^ Beginning of the string
    $ End of the string
    Escape special characters, e.g. \ is "", + is "+"
    | Alternation match. e.g. /(e|d)n/ matches "en" and "dn"
    Any character, except or line terminator
    [ab] a or b
    [^ab] Any character except a and b
    [0-9] All Digit
    [A-Z] All uppercase A to Z letters
    [a-z] All lowercase a to z letters
    [A-z] All Uppercase and lowercase a to z letters
    i+ i at least one time
    i* i zero or more times
    i? i zero or 1 time
    i{n} i occurs n times in sequence
    i{n1,n2} i occurs n1 - n2 times in sequence
    i{n1,n2}? non greedy match, see above example
    i{n,} i occures >= n times
    [:alnum:] Alphanumeric characters: [:alpha:] and [:digit:]
    [:alpha:] Alphabetic characters: [:lower:] and [:upper:]
    [:blank:] Blank characters: e.g. space, tab
    [:cntrl:] Control characters
    [:digit:] Digits: 0 1 2 3 4 5 6 7 8 9
    [:graph:] Graphical characters: [:alnum:] and [:punct:]
    [:lower:] Lower-case letters in the current locale
    [:print:] Printable characters: [:alnum:], [:punct:] and space
    [:punct:] Punctuation character: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~
    [:space:] Space characters: tab, newline, vertical tab, form feed, carriage return, space
    [:upper:] Upper-case letters in the current locale
    [:xdigit:] Hexadecimal digits: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f

    REF:

    http://www.endmemo.com/program/R/gsub.php

    http://cran.r-project.org/web/packages/stringr/stringr.pdf

    http://stackoverflow.com/questions/11936339/in-r-how-do-i-replace-text-within-a-string

  • 相关阅读:
    VA对于开发QT是神器,VA自动补全QT
    64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)
    贵在坚持
    VC程序查错之内存访问异常
    QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
    QTimer源码分析(以Windows下实现为例)
    Go语言的优点(oschina讨论)
    致诸位新程序员:来自Chuck Jazdzewski慈父般的忠告
    poj1483 It's not a Bug, It's a Feature!
    App应用与思考
  • 原文地址:https://www.cnblogs.com/emanlee/p/4464018.html
Copyright © 2011-2022 走看看