加载中…
个人资料
邓旭东HIT
邓旭东HIT
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,205
  • 关注人气:18
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言之 字符串函数

(2016-06-06 14:00:37)
标签:

r

数据分析

分类: R语言
一、nchar与length
nchar是取字符串的长度,而length取的是向量中每个元素的长度
> nchar("abc")
[1] 3
> nchar(c("a","ab","abc"))
[1] 1 2 3
> length(c("a","ab","abc"))
[1] 3
二、字符串粘合函数   paste与paste0   
paste   在不指定分割符号的情况下,墨粉分割符号是空格
paste0 在不指定分割符号的情况下,墨粉分割符号是 空
>paste("hello","world")
[1] "hello world"
> paste0("hello","world")
[1] "helloworld"

> paste("abc", "efg", "hijk", sep = "-")  #
[1] "abc-efg-hijk"

> paste0("A", 1:6, sep = "")   
[1] "A1" "A2" "A3" "A4" "A5" "A6"
> paste0("A", 1:6)
[1] "A1" "A2" "A3" "A4" "A5" "A6"
#从上面指导paste0的默认分隔符号是“”即空格

> paste("abc", "efg", "hijk", sep = "-")
[1] "abc-efg-hijk"
> paste("abc", "efg", "hijk")   #默认分割符号为空格
[1] "abc efg hijk"
 
三、提取substr、分割strsplit字符串
#提取函数substr()提取的是从start到stop之间的字符串,通过class()函数判断,我们得知substr()返回类型是字符串character格式
> substr(x = "hello world", start = 1, stop = 5)
[1] "hello"
> class(substr(x = "hello world", start = 1, stop = 5))
[1] "character"

> strsplit("abc", split = "")
[[1]]
[1] "a" "b" "c"
> class(strsplit("abc", split = ""))
[1] "list"

> strsplit(c("abc", "bcd", "dfafadf"), split = "")
[[1]]
[1] "a" "b" "c"

[[2]]
[1] "b" "c" "d"

[[3]]
[1] "d" "f" "a" "f" "a" "d" "f"
#分割函数strsplit()是对abc进行分割,返回值是 列表list格类型。注意列表[[1]][[2]][[3]]下面会用到

> strsplit(c("abc", "bcd", "dfafadf"), split = "")[[1]][1]

[1] "a"

> strsplit(c("abc", "bcd", "dfafadf"), split = "")[[2]][3]

[1] "d"

> strsplit(c("abc", "bcd", "dfafadf"), split = "")[[3]][4]

[1] "f"  #你发现规律了没有

 

#分割向量的每一个元素,并取分割后的第一个元素中的第一个元素

uunlist(lapply(X = c("abc", "bcd", "dfafadf"), 

              FUN = function(x) {

                  return(strsplit(x, split = "")[[1]][1])

              }

            )

       )

[1] "a" "b" "d"

 

四、gsub与sub

gsub替换匹配到的全部,而sub只替换匹配到的第一个

> gsub(pattern="a",replacement = "A",x="a handsome man")

[1] "A hAndsome mAn"

> sub(pattern="a",replacement = "A",x="a handsome man")

[1] "A handsome man"

 

五、grep 匹配函数
grep函数返回的是索引值 
grep(pattern = "a",x=c("He","is","a","bad", "egg"))
[1] 3 4
六、chartr函数
chartr(old, new, x)
参数:x一个字符向量,或者一个可以强制as.character字符的对象。
参数:old一个字符串指定的字符被翻译。如果字符长度为2个或更多的向量提供,第一个元素是使用一个警告。
参数:new字符串指定的翻译。如果字符长度为2个或更多的向量提供,第一个元素是使用一个警告。

 x <- "MiXeD cAsE 123"

chartr("iXs", "why", x)

[1] "MwheD cAyE 123"

 

chartr("a-cX", "D-Fw", x)

[1] "MiweD FAsE 123"

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有