前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >stringr2

stringr2

作者头像
火星娃统计
发布2020-09-15 15:43:44
4460
发布2020-09-15 15:43:44
举报
文章被收录于专栏:火星娃统计火星娃统计

stringr2

sunqi
2020/8/13

概述

str_detect:用来匹配字符中的字母,返回布尔值 str_count():匹配字符,返回匹配的个数

正文

代码语言:javascript
复制
rm(list=ls())
library(stringr)
x <- c("sunqi", "wanglong", "lisi")
str_detect(x, "i")
代码语言:javascript
复制
## [1]  TRUE FALSE  TRUE
代码语言:javascript
复制
# str_count():匹配字符,返回匹配的个数
str_count(x,"i")
代码语言:javascript
复制
## [1] 1 0 2
代码语言:javascript
复制
# 返回位置str_count

str_view_all(x, "qi")
  • sunqi
  • wanglong
  • lisi
代码语言:javascript
复制
# 提取匹配内容str_extract
str_extract(c("sunqi zhangsan sunlia wangwu"),pattern ="sun|zhang")
代码语言:javascript
复制
## [1] "sun"
代码语言:javascript
复制
# str_extract_all返回全部字符
str_extract_all(c("sunqi zhangsan lisi wangwu"),pattern ="sun|zhang")
代码语言:javascript
复制
## [[1]]
## [1] "sun"   "zhang"
代码语言:javascript
复制
# 替换第一个匹配值
str_replace(x, "[sn]", "-")
代码语言:javascript
复制
## [1] "-unqi"    "wa-glong" "li-i"
代码语言:javascript
复制
# 替换所有值
str_replace_all(x, "[sn]", "-")
代码语言:javascript
复制
## [1] "-u-qi"    "wa-glo-g" "li-i"
代码语言:javascript
复制
# 拆分字符串
x <- "i like apple and banana"
# 返回为一个个单词
str_split(x, " ")
代码语言:javascript
复制
## [[1]]
## [1] "i"      "like"   "apple"  "and"    "banana"

备注:举个例子,暂时不对stringr更新

综合例子

代码语言:javascript
复制
library(tidyr)
data <- tibble(
  x = c("1234", "B246", "217C", "2357f", "21WD4")
)

str_match_all(x, "\\d")
代码语言:javascript
复制
## [[1]]
##      [,1]
代码语言:javascript
复制
# 求tibble中每个单元格中数字的和
library(tidyverse)
data %>%
  # 匹配字符中的所有数字,返回列表
  mutate(num = str_match_all(x, "\\d")) %>%
  # 将返回的列表还原为数据框
  unnest(num) %>%
  # 对提取的的数字转换为数字
  mutate_at(vars(num), as.numeric) %>%
  # 按照x分组计算和
  group_by(x) %>%
  #求和
  summarise(sum = sum(num))
代码语言:javascript
复制
## # A tibble: 5 x 2
##   x       sum
##   <chr> <dbl>
## 1 1234     10
## 2 217C     10
## 3 21WD4     7
## 4 2357f    17
## 5 B246     12

结束语

随着数据量越来越大,R语言对于内存的需求也越来越大,好像SAS是基于硬盘数据运算的。另外stringr不打算更新了,用不到。

love&peace

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • stringr2
    • 概述
      • 正文
        • 综合例子
          • 结束语
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档