R語言|替換表內字符|gsub()


data$col <- gsub("1","",data$col)
# 將data數據框col這一列中含有“1”的字符替換成空格

 

gsub()可以用於字段的刪減、增補、替換和切割,可以處理一個字段也可以處理由字段組成的向量。

具體的使用方法為:gsub("目標字符", "替換字符", 對象).

在gsub函數中,任何字段處理都由將“替換字符”替換到“目標字符”這一流程中實現,令替換字符為''''可實現刪除,令替換字符為"目標字符+增補內容"可實現增補,替換和切割也是使用類似的操作。

    > text <- "AbcdEfgh . Ijkl MNM"
    > gsub("Efg", "AAA", text)

#將Efg改為AAA

區分大小寫
    [1] "AbcdAAAh . Ijkl MNM"

 

 任何符號,包括空格、Tab和換行都是可以識別的

 

  > gsub(" I", "i", text)   #可識別空格
    [1] "AbcdEfgh .ijkl MNM"

 



同時字符可以識別多個,進行批量置換

    > gsub("M", "N", text)
    [1] "AbcdEfgh . Ijkl NNN" 

 



除此之外,gsub還有其他批量操作的方法

    > gsub("^.* ", "a", text) #開頭直到最后一個空格結束替換成a
    [1] "aMNM"
    > gsub("^.* I(j).*$", "\\1", text) #只保留一個j
    [1] "j"
    > gsub(" .*$", "b", text) #第一個空格直達結尾替換成b
    [1] "AbcdEfghb"
    > gsub("\\.", "\\+", text) #句號.和加號+是特殊的,要添加\\來識別
    [1] "AbcdEfgh + Ijkl MNM"

 

 


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 \n 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
————————————————
原文鏈接:https://blog.csdn.net/lztttao/article/details/82086346


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM