R语言gsub替换字符工具的具体使用

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

到此这篇关于R语言gsub替换字符工具的具体使用的文章就介绍到这了,更多相关R语言gsub替换字符工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • R语言基本运算的示例代码

    1.基本运算 1.1 加.减.乘.除 + - * / 在赋值中可以使用=,也可以使用<-. 1.2余数.整除 %% %/% 1.3 取绝对值 abs() 判断正负号sign() 1.4幂指数 ^ 平方根sqart () 1.5 以二为底的对数:log2() 以十为底的对数:log10() 自定义底的对数:log(c,base=) 自然常数e的对数:log(a,base=exp(1)) 2.向量运算 向量是有相同基本类型的元素序列,一维数组,定义向量的最常用办法是使用函数c(),它把若干个数值或字

  • R语言3.6.3安装超详细教程附安装包

    软件下载 R语言3.6.3 软件安装包下载: 链接: https://pan.baidu.com/s/1sufVf2lmoj9GYG_j5_fJKQ 提取码: tnqg R语言R-4.0.4 安装包下载地址: 链接: https://pan.baidu.com/s/1uzH49cJ0lnob54k19WWjOQ 提取码: kusa 软件介绍 R语言是一款非常专业的统计建模软件,R语言拥有数据存储和处理系统;数组运算工具(其向量.矩阵运算方面功能尤其强大),完整连贯的统计分析工具;优秀的统计制图等

  • R语言实现操作MySQL数据库

    用R语言做数据分析时,常常需要从多种数据源取数据,其中数据库是非常常见的数据源.用R操作MySQL数据库,可以说是数据分析师必备的技能了,本文介绍RMySQL包,可以在R语言中对数据库进行增删改查的操作. 软件版本 win10 64bit r3.6.1 rstudio 1.2 RMySQL 0.10.20 安装包 install.packages('RMySQL') 创建连接 用dbConnect函数创建连接,驱动类型设置为MySQL(),用户名user.密码password.主机host.端口

  • 如何用R语言绘制散点图

    散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标. 散点图可以使用 plot() 函数来绘制,语法格式如下: plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes) x 横坐标 x 轴的数据集合 y 纵坐标 y 轴的数据集合 type:绘图的类型,p 为点.l 为直线, o 同时绘制点和线,且线穿过点. main 图表标题. xlab.

  • R语言交叉验证的实现代码

    k-折交叉验证 k-折交叉验证(K-fold cross-validation)是交叉验证方法里一种.它是指将样本集分为k份,其中k-1份作为训练数据集,而另外的1份作为验证数据集.用验证集来验证所得分类器或者模型的错误率.一般需要循环k次,直到所有k份数据全部被选择一遍为止. 有关交叉验证的介绍可参考作者另一博文: http://blog.csdn.net/yawei_liu1688/article/details/79138202 R语言实现 K折交叉验证,随机分组 数据打折-数据分组自编译

  • R语言时间序列TAR阈值自回归模型示例详解

    为了方便起见,这些模型通常简称为TAR模型.这些模型捕获了线性时间序列模型无法捕获的行为,例如周期,幅度相关的频率和跳跃现象.Tong和Lim(1980)使用阈值模型表明,该模型能够发现黑子数据出现的不对称周期性行为. 一阶TAR模型的示例: σ是噪声标准偏差,Yt-1是阈值变量,r是阈值参数, {et}是具有零均值和单位方差的iid随机变量序列. 每个线性子模型都称为一个机制.上面是两个机制的模型. 考虑以下简单的一阶TAR模型: #低机制参数 i1 = 0.3 p1 = 0.5 s1 = 1

  • R语言gsub替换字符工具的具体使用

    gsub()可以用于字段的删减.增补.替换和切割,可以处理一个字段也可以处理由字段组成的向量. 具体的使用方法为:gsub("目标字符", "替换字符", 对象) 在gsub函数中,任何字段处理都由将"替换字符"替换到"目标字符"这一流程中实现,令替换字符为''''可实现删除,令替换字符为"目标字符+增补内容"可实现增补,替换和切割也是使用类似的操作. > text <- "AbcdE

  • R语言-修改(替换)因子变量的元素操作

    因子变量的核心是水平,通过指定水平来修改. x<-c(1,1,1,1,2,2,2,3,3,3,3,4) xx<-factor(x);xx levels(xx) #得到水平为3的位置 level_3<-which(levels(xx)==3) #重新赋值 levels(xx)[level_3]<-03 xx #由于新值是03,0开头,所以把03当成3处理 levels(xx)[level_3]<-c("03") xx #字符串会自动转换成因子 levels(

  • 使用R语言批量修改文件名的方法

    在R语言默认目录下有一文件夹test,其下有三个文件,分别是test1.txt, text2.txt, text3.txt, 现在要对这三个文件进行批量的修改.主要使用到了for 循环和sub()字符替换函数.思路是先通过list.files()函数将test文件夹下面的三个文件名读至变量,然后通过for循环来实现批量修改文件名. 1. 修改文件扩展名 folder<-setwd('~/test') files<-list.files(folder) for (f in files){ new

  • R语言 用均值替换、回归插补及多重插补进行插补的操作

    用均值替换.回归插补及多重插补进行插补 # 设置工作空间 # 把"数据及程序"文件夹拷贝到F盘下,再用setwd设置工作空间 setwd("E:\\R_workspace\\R语言数据分析与挖掘实战\\chp4") # 读取销售数据文件,提取标题行 inputfile <- read.csv('./data/catering_sale.csv', header = TRUE) View(inputfile) # 变换变量名 inputfile <- da

  • R语言-如何截取变量中指定位置的若干个字符

    例如,某数据库如下,需要把第二个变量里面的ID号码(格式为T-20-252-02)提取出来作为一个新变量. 命令如下: b=readWorksheetFromFile(temp[11],sheet=1) 读入excel数据,命名为数据库b,这里temp[11]是读入temp中第11个文件名对应的文件 attach(b) attach数据库,之后即可直接用变量名file, 否则要用b$file b$id=substr(File,regexpr("T",File),regexpr(&quo

  • 基于R语言for循环的替换方案

    R语言中,for循环运行比较慢 for(i in 1:1000){ print(i^2) } 补充:R语言:for循环使用小结 基本结构展示: vals =c(5,6,7) for(v in vals){ print(v) } #即把大括号里的内容对vals里的每一个值都循环run一遍 实例展示: 1. paste() 命令是把几个字符连接起来 如paste("A","B","C",sep=" ")得到的就是"A B

  • R语言绘图时输出希腊字符上下标及数学公式实现方法

    目录 希腊字母 上下标 paste 一个复杂的例子 进阶 数学公式 通常在我们写论文时,所需要的统计图是非常严谨的,里面的希腊字符与上下脚标都必须要严格书写.因此在使用R绘图时,如何在我们目标图中使用希腊字符.上标.下标及一些数学公式呢?在本博客中我们会进行详细的说明. 后面我们都将以一个最简单的绘图为例,只是将其标题进行修改. 希腊字母 使用希腊字符.上标.下标及数学公式,都需要利用一个函数:expression(),具体使用方式如下: plot(cars) title(main = expr

  • R语言数据的输入和输出操作

    数据的载入 R本身已经提供了超过50个数据集,而在众多功能包中,默认的数据集被存放在datasets程序包中,通过函数data()k可以查看系统提供所有的数据包,同时可以通过函数library()加载程序包中的数据. 矩阵型数据最常用的读取方式是read.table()具体的调用格式是() read.table(file, header = FALSE, sep = "", quote = "\"'",dec = ".", numera

  • R语言-实现提取包含某字符串的行变量

    已解决 用grep函数 A=read.table("clipboard",sep="/t",header=T) A[grep(pattern="/resource/activity",A[,1]),] 补充:R语言 如何截取字符串特定字符前或后的字符串 如待处理字符串是: topic = "#全国累计报告72436例新冠肺炎#/#全国累计报告72436例新冠肺炎#.csv" 需要截取出:"全国累计报告72436例新冠

  • swift 3.0 正则表达式查找/替换字符的实现代码

    1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 2.正则表达式的字符组成 普通字符[a~z].特殊字符(称为"元字符") 3.支持 几乎所有的程序设计语言都支持正则表达式,例如:OC,swift,java,c#,

随机推荐