R包stringr处理字符串
1. word,str_sub:字符串提取
library(stringr)
#packageVersion('stringr')
#ls("package:stringr")### 1.word,str_sub:字符串提取
ids <-c("A.4.35","E.1.32","N.2.5")
ids_short <- word(ids,1,sep=fixed(".")) # 提取点号前面的部分
ids_short <- word(ids,2,sep=fixed(".")) # 提取点号后面的部分
ids_short <- word(ids,-1,sep=fixed(".")) # 点号分隔,提取最后一部分
ids_short <- word(ids,2,3,sep=fixed(".")) # 点号分隔,提取第二三部分x <- "BBCDEF"
str_sub(x,1,3) # 提取
str_sub(x, 2, -2)
str_sub(x,1,2) <-"AA" # 替换hw <- "Hadley Wickham"
str_sub(hw, c(1, 8), c(3, 11)) # [1] "Had" "Wick"
2. str_split:字符串分隔
### 2. str_split:字符串分隔str_split(a,'\\.') # 以点号分隔,转义符 \\
str_split(a,'[.]') # 以点号分隔
str_split(a,'[5.a]') # 多个分隔符# [[a-z][A-Z][0-9]],
# [a-zA-Z0-9]
# [abc]
# [^abc]
# [\\P{Letter}]
# [\\p{Letter}]str_split(a,'[\\p{Letter}]') # 以字母分隔
str_split(a,'[\\P{Letter}]') # 以字母以外的字符分隔
str_split(a,'[^abc]') # 以字母abc以外的字符分隔fruits <- c("apples and oranges and pears and bananas","pineapples and mangos and guavas"
)str_split_fixed(fruits, " and ", 3)
str_split_fixed(fruits, " and ", 4)# str_split 返回列表
# str_split_fixed 返回matrix
3. str_trim:去掉字符串的空格和TAB(\t)
### 3 str_trim:去掉字符串的空格和TAB(\t)
# str_trim(string, side = c(“both”, “left”, “right”))
mystr <- " AABBBBCCC "
str_trim(mystr, side = 'left')
str_trim(mystr, side = 'right')
str_trim(mystr, side = 'both')
4. str_pad:补充字符串的长度
### 4. str_pad:补充字符串的长度
str_pad("separation",20,side = 'both',pad = '*')
str_pad(c("a", "abc", "abcdef"), 10,pad = '*')
# side :left/right/both
5. str_dup: 复制字符串
### 5. str_dup: 复制字符串
fruit <- c("apple", "pear", "banana")
str_dup(fruit, 2) # 都复制二次
str_dup(fruit, 1:3) # 分别重复一二三次
6. str_subset: 返回匹配的字符串
### 6 str_subset: 返回匹配的字符串
fruit <- c("apple", "banana", "pear", "pinapple")
str_subset(fruit, "pi") # 返回字符串
str_subset(fruit, "[eu]")
str_which(fruit, "pi") # 返回索引
str_which(fruit, "[eu]")
7. str_count:字符串计数
###7.str_count:字符串计数
mstr<-c('ttccaggact','ggccgctaatccc')
str_count(mstr) # 每个字符串总长度
str_count(mstr,'t') # 每个字符串中t出现的次数str_length(mstr) # 每个字符串总长度
8. str_sort:字符串值排序
### 8. str_sort:字符串值排序
mstr <- c("B123","A234","D789")
str_sort(mstr)
str_sort(mstr,decreasing=TRUE)
str_order(mstr)
str_order(letters)
str_sort(letters)
str_sort(LETTERS)x <- c("100a1", "10a5", NA,"2b", "2a")
str_sort(x)
str_sort(x, numeric = TRUE) # 按数值排序
str_sort(x, numeric = TRUE,decreasing = FALSE, na_last = TRUE)
str_sort(x, numeric = TRUE,decreasing = FALSE, na_last = FALSE)
9. str_match:字符串匹配
### 9. str_match:字符串匹配
## str_match函数返回matrix,str_match_all函数返回listval <- c("abc", 123, "cbaa") # 从字符串中提取匹配组
str_match(val, "a") # 匹配字符a,并返回对应的字符
str_match(val, "[0-9]") # 匹配字符0-9,限1个,并返回对应的字符
str_match(val, "[0-9]*") # 匹配字符0-9,不限数量,并返回对应的字符str_match_all(val, "a") # 多次提取,可以确定每个字符串中含有几个a
str_match_all(val, "[0-9]")
10. str_replace:字符串替换
###10. str_replace:字符串替换
val <- c("abc", 123, "cba",NA)
str_replace(val, "[ab]", "-") #只替换第一个匹配的字符
str_replace_all(val, "[ab]", "-") #替换所有匹配的字符
str_replace_all(val, "[a]", "\1") # 把目标字符串所有出现的a,替换为被转义的字符str_replace_na(c(NA, "abc", "def")) # Turn NA into "NA"
str_replace_na(val)
11. str_locate 字符串模式位置查找
### 11. str_locate 字符串模式位置查找
#str_locate:只匹配首次,返回matrix
#str_locate_all:匹配所有可能的值,返回listval <- c("aabcdaa", 123, "cbaaccddaaa")
str_locate(val, "aa")
str_locate_all(val, "aa")
12. str_extract 提取指定模式的字符串
### 12. str_extract 提取指定模式的字符串
shopping_list <- c("apples x44", "bag of flour", "bag of sugar", "milk x2")
str_extract(shopping_list, "\\d") # 提取数字,只提取第一个出现的数字
str_extract_all(shopping_list, "\\d") # 提取所有的数字,列表保存
str_extract(shopping_list, "[a-z]+") # 提取字母,只提取第一个,返回向量
str_extract_all(shopping_list, "[a-z]+") # 提取字母,多次提取,返回list
str_extract(shopping_list, "[a-z]{1,4}")
str_extract(shopping_list, "\\b[a-z]{1,4}\\b")
13. str_c:字符串合并
### 13.str_c:字符串合并
fruit <- c("apple","banana","pear","orange")
str_c(1:4,fruit,sep='-')
# paste(1:4,fruit,sep='-')str_c("Letter", letters, sep = ": ")
# paste("Letter", letters, sep = ": ")str_c(letters, collapse = ", ") # 逗号把输入向量连成一个字符串
#paste(letters, collapse = ", ")
stringr
包中的重要函数
函数 | 功能说明 | R Base中对应函数 |
---|---|---|
使用正则表达式的函数 | ||
str_extract()
|
提取首个匹配模式的字符 |
regmatches()
|
str_extract_all()
|
提取所有匹配模式的字符 |
regmatches()
|
str_locate()
|
返回首个匹配模式的字符的位置 |
regexpr()
|
str_locate_all()
|
返回所有匹配模式的字符的位置 |
gregexpr()
|
str_replace()
|
替换首个匹配模式 |
sub()
|
str_replace_all()
|
替换所有匹配模式 |
gsub()
|
str_split()
|
按照模式分割字符串 |
strsplit()
|
str_split_fixed()
|
按照模式将字符串分割成指定个数 | - |
str_detect()
|
检测字符是否存在某些指定模式 |
grepl()
|
str_count()
|
返回指定模式出现的次数 | - |
其他重要函数 | ||
str_sub()
|
提取指定位置的字符 |
regmatches()
|
str_dup()
|
丢弃指定位置的字符 | - |
str_length()
|
返回字符的长度 |
nchar()
|
str_pad()
|
填补字符 | - |
str_trim()
|
丢弃填充,如去掉字符前后的空格 | - |
str_c()
|
连接字符 |
paste(),paste0()
|
R包stringr处理字符串相关推荐
- R语言stringr包str_dup函数字符串多次复制实战
R语言stringr包str_dup函数字符串多次复制实战 目录 R语言stringr包str_dup函数字符串多次复制实战 #导入stringr包 #仿真数据
- R语言stringr包str_detect函数检测字符串中模式存在与否实战
R语言stringr包str_detect函数检测字符串中模式存在与否实战 目录 R语言stringr包str_detect函数检测字符串中模式存在与否实战 #导入stringr包
- R语言stringr包str_ends函数、str_starts函数起始、结束字符串判断实战
R语言stringr包str_ends函数.str_starts函数起始.结束字符串判断实战 目录 R语言stringr包str_ends函数.str_starts函数起始.结束字符串判断实战
- R语言 stringr包
stringr包 stringr包提供了更多且功能更为强大的字符串处理函数,能够更加灵活地处理文本数据. GitHub安装代码: # Install the released version from ...
- R语言stringr包str_count函数计算字符串匹配个数实战
R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据
- R语言stringr包str_extract函数检查数据是否包含特定模式实战
R语言stringr包str_extract函数检查数据是否包含特定模式实战 目录 R语言stringr包str_extract函数检查数据是否包含特定模式实战 #导入stringr包
- 独家 | 用于数据清理的顶级R包(附资源)
作者:Anna Kayfitz,CEO of StrategicDB Corp 翻译:顾宇华 校对:杨光 本文约1700字,建议阅读5分钟. 确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要 ...
- 使用R语言的正确姿势,R包干货奉献
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
- 探索R包plyr:脱离R中显式循环
所有R用户接受的第一个"莫名其妙"的原则就是: 不要在R中写显式循环... 不要写显式循环... 不要写循环... 不循环... 不... 我第一次接受到这个"黄金律&q ...
最新文章
- ActionResult 返回类型
- 解决类似umount target is busy挂载盘卸载不掉问题
- outlook advanced find 快捷键不起作用
- PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本
- 开始→运行→输入的命令集锦( 菜鸟必读)
- iphone图片等比缩放
- 关于APK文件反编译方法(图文详解)
- 【C语言】将输入的10个整数逆序输出
- POJ-2456.Aggressivecows.(二分求解最大化最小值)
- Confluence 6.15 附件(Attachments )宏
- 阵列卡u盘安装系统步骤_Dell的R720服务器使用U盘安装系统
- 戴尔电脑外放有声音插入耳机还是外放解决方法
- Win10系统怎么注销微软账户
- 河南省普通高中学业水平测试计算机,河南省普通高中信息技术学业水平测试综合测试题3(有答案)...
- 位运算判断奇偶数_位运算判断奇偶数
- 在Js中使程序睡眠的sleep方法
- nlp中的实体关系抽取方法总结
- php 循环电泳函数,【分享】单细胞凝胶电泳(彗星实验)分析软件CASP及教程【已搜索无重复】...
- freeBSD安装详细讲解
- linux 在线下载 linuxx,XMind For Linux下载|XMind For Linux官方下载-太平洋下载中心