R for data Science(九)

作者: 一路向前_莫问前程_前程似锦 | 来源:发表于2018-09-08 19:58 被阅读8次
    Stringr
    本章将向您介绍r中的字符串操作,您将了解字符串如何工作以及如何手工创建它们,但是本章的重点将放在正则表达式,或简称regexp上。正则表达式非常有用,因为字符串通常包含非结构化或半结构化数据,regexp是一种用于描述字符串中的模式的简明语言。
    library(tidyverse)
    library(stringr)
    

    stringr常用几大函数

    求字符长度: str_length() 相当于length()
    字符合并: str_c() 相当于paste()
    字符截取: str_sub()相当于substring()
    正则表达式: str_view()

    计算字符串长度

    str_length(c("a", "R for data science", NA))#> [1]  1 18 NA
    

    合并字符串

    str_c("x", "y")
    #> [1] "xy"
    str_c("x", "y", "z")
    #> [1] "xyz"
    str_c("x", "y", sep = ", ")
    #> [1] "x, y"
    str_c(c("x", "y", "z"), collapse = ", ")
    [1] "x, y, z"
    str_c(c("x", "y", "z"), sep = ", ")
    [1] "x" "y" "z"
    str_c(c("x", "y"), sep = ", ")
    [1] "x" "y"
    str_c("x", "y", sep = ", ")
    [1] "x, y"
    
    强调一点,请仔细体会str_c()中的sep和collapse参数的不同点,就是collapse代表的合并为一个引号下的字符串,而sep则是分开为多个字符串
    image

    字符串截取

    相当于substring
    x <- c("Apple", "Banana", "Pear")
    str_sub(x, 1, 3)
    #> [1] "App" "Ban" "Pea"
    # negative numbers count backwards from end
    str_sub(x, -3, -1)
    #> [1] "ple" "ana" "ear"
    str_sub("a", 1, 5)
    #> [1] "a"
    str_sub("a", 1, 5)
    #> [1] "a"
    
    上面的代码就是告诉我们sub_str()第一个参数为截取对象,第二、三个参数为要截取的起点和终点,当然是从1开始,如果截取的数字前面加上负号代表的就是倒叙截取
    同时str_sub还可以用来赋值比如
    image

    正则表达式 str_view函数

    R里面的正则

    . 代表一个任意字符

    . 代表点号自己

    \d 代表任意数字

    \s 代表空格

    [abc] 代表a/b/c

    [^abc] 代表非a,非b,非c

    ^匹配字符串的开始。

    $以匹配字符串的末尾

    ? 代表0次或一次

    + >=1 次

    * >=0 次

    x <- c("apple", "banana", "pear")
    str_view(x, "an")
    applebananapear
    x <- c("apple", "banana", "pear")
    str_view(x, ".a.")applebananapear
    str_view(fruit, "(..)\\1", match = TRUE)
    bananacoconutcucumberjujubepapayasalal berry
    
    image
    加括号,以及数字代表什么呢?加括号就是代表你的对象被选中,后续匹配的还是你的数字,相当于叠字
    就像上面的anan,coco等

    相关文章

      网友评论

        本文标题:R for data Science(九)

        本文链接:https://www.haomeiwen.com/subject/phslgftx.html