R语言gsub替换字符工具的具体使用
gsub()可以用于字段的删减、增补、替换和切割,可以处理一个字段也可以处理由字段组成的向量。
具体的使用方法为:gsub("目标字符","替换字符",对象)
在gsub函数中,任何字段处理都由将“替换字符”替换到“目标字符”这一流程中实现,令替换字符为''''可实现删除,令替换字符为"目标字符+增补内容"可实现增补,替换和切割也是使用类似的操作。
>text<-"AbcdEfgh.IjklMNM" >gsub("Efg","AAA",text)#将Efg改为AAA,区分大小写 [1]"AbcdAAAh.IjklMNM"
任何符号,包括空格、Tab和换行都是可以识别的
>gsub("I","i",text)#可识别空格 [1]"AbcdEfgh.ijklMNM"
同时字符可以识别多个,进行批量置换
>gsub("M","N",text) [1]"AbcdEfgh.IjklNNN"
除此之外,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+IjklMNM"
Syntax
Description
\\d
Digit,0,1,2...9
\\D
NotDigit
\\s
Space
\\S
NotSpace
\\w
Word
\\W
NotWord
\\t
Tab
\\n
Newline
^
Beginningofthestring
$
Endofthestring
\
Escapespecialcharacters,e.g.\\is"\",\+is"+"
|
Alternationmatch.e.g./(e|d)n/matches"en"and"dn"
•
Anycharacter,except\norlineterminator
[ab]
aorb
[^ab]
Anycharacterexceptaandb
[0-9]
AllDigit
[A-Z]
AlluppercaseAtoZletters
[a-z]
Alllowercaseatozletters
[A-z]
AllUppercaseandlowercaseatozletters
i+
iatleastonetime
i*
izeroormoretimes
i?
izeroor1time
i{n}
ioccursntimesinsequence
i{n1,n2}
ioccursn1-n2timesinsequence
i{n1,n2}?
nongreedymatch,seeaboveexample
i{n,}
ioccures>=ntimes
[:alnum:]
Alphanumericcharacters:[:alpha:]and[:digit:]
[:alpha:]
Alphabeticcharacters:[:lower:]and[:upper:]
[:blank:]
Blankcharacters:e.g.space,tab
[:cntrl:]
Controlcharacters
[:digit:]
Digits:0123456789
[:graph:]
Graphicalcharacters:[:alnum:]and[:punct:]
[:lower:]
Lower-caselettersinthecurrentlocale
[:print:]
Printablecharacters:[:alnum:],[:punct:]andspace
[:punct:]
Punctuationcharacter:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
[:space:]
Spacecharacters:tab,newline,verticaltab,formfeed,carriagereturn,space
[:upper:]
Upper-caselettersinthecurrentlocale
[:xdigit:]
Hexadecimaldigits:0123456789ABCDEFabcdef
到此这篇关于R语言gsub替换字符工具的具体使用的文章就介绍到这了,更多相关R语言gsub替换字符工具内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。