字符串的分割与拆分

2019-06-28  本文已影响0人  我是Peace

在数据处理过程中不可避免的会出现一些文本字符串,涉及到字符串的分割替换等,而R中的一些函数可以很方便快捷的处理这些问题

字符串拆分函数 strsplit()
其命令形式为:
strsplit(x, split, fixed= F, perl= F, useBytes= F)
其中split是分割参数。所得结果以默认以list 列表形式展示。如果希望得到一个向量,可以使用 unlist() 函数。
举个例子:

> x = "character vector, 
each element of which is to be split. 
Other inputs, including a factor, will give an error."   #创建一个字符串向量x
> x   #查看x
[1] "character vector, each element of which is to be split. Other inputs, including a factor, will give an error."
> strsplit(x,split = "\\s+")   #strsplit 函数,首先`\s+`是表示匹配一个或一个以上的空白字符,包括空格、制表符和换行符等。这里的第一个`\` 是用来转义第二个`\` 符号的。
[[1]]
 [1] "character" "vector,"   "each"      "element"   "of"       
 [6] "which"     "is"        "to"        "be"        "split."   
[11] "Other"     "inputs,"   "including" "a"         "factor,"  
[16] "will"      "give"      "an"        "error."   

> strsplit(x,split = " ")  #split=" "当设置为空字符的时候,strsplit函数会把字符串按照字符一个个进行分割。
[[1]]
 [1] "character" "vector,"   "each"      "element"   "of"       
 [6] "which"     "is"        "to"        "be"        "split."   
[11] "Other"     "inputs,"   "including" "a"         "factor,"  
[16] "will"      "give"      "an"        "error." 

substr()函数和substring()函数是截取字符串最常用的函数,两个函数功能方面是一样的,只是其中参数设置不同。
substr()函数:必须设置参数start和stop,如果缺少将出错。
substring()函数:可以只设置first参数,last参数若不设置,则默认为1000000L,通常是指字符串的最大长度。
chartr()函数:将原有字符串中特定字符替换成所需要的字符。其中参数old 表示原有字符串中内容;new 表示替换后的字符内容。
chartr (old,new,x),chartr-将对象中旧的字符用新的字符替代。
这种功能和shell里面的rename有点类似,但old的字符数不能大于new,new字符数大于old的字符也将会被忽略,相当于重命名的意思。不同于rename的是chartr不能随意的替换字符串,用起来也有一定的局限性。
gsub() 替换匹配到的全部;sub()替换匹配到的第一个。

入门生信最快方式请搜索生信技能树

  1. 生信技能树全球公益巡讲
    https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
  2. B站公益74小时生信工程师教学视频合辑https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
  3. 招学徒
    https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw
上一篇下一篇

猜你喜欢

热点阅读