查看原文
其他

正则表达式匹配中文

阿越就是我 医学和生信笔记 2023-06-15
关注公众号,发送R语言,获取学习资料!

     Try to learn everything about something! 


正则表达式绝对是让我又爱又恨的东西,一方面因为它太强大了,当其他函数都解决不了的时候我总会用到它,好好利用还能明显简化代码,实在是神器;另一方面它太难记了!!我现在还是记不住,只能每次都翻笔记!

由于经常要用到中文的资料,所以用正则表达式提取中文是非常常见操作。

今天给大家介绍几种匹配中文字符的方法!超级实用哦!

首先编一个字符串:

df <- c("123,,这是中文字符,,English。。你好","午后奶茶ACD,。哈哈%")

使用stringr包进行演示。str_match_all()的用法大家自己了解哦!

library(stringr)

接下来请看我的表演!

# 方法1
str_match_all(df,"[\u4e00-\u9fa5]")
## [[1]]
##      [,1]
## [1,] "这"
## [2,] "是"
## [3,] "中"
## [4,] "文"
## [5,] "字"
## [6,] "符"
## [7,] "你"
## [8,] "好"
## 
## [[2]]
##      [,1]
## [1,] "午"
## [2,] "后"
## [3,] "奶"
## [4,] "茶"
## [5,] "哈"
## [6,] "哈"
# 方法2
str_match_all(df,"[\\p{Han}]")
## [[1]]
##      [,1]
## [1,] "这"
## [2,] "是"
## [3,] "中"
## [4,] "文"
## [5,] "字"
## [6,] "符"
## [7,] "你"
## [8,] "好"
## 
## [[2]]
##      [,1]
## [1,] "午"
## [2,] "后"
## [3,] "奶"
## [4,] "茶"
## [5,] "哈"
## [6,] "哈"
# 方法3
str_match_all(df,"[一-龥]")
## [[1]]
##      [,1]
## [1,] "这"
## [2,] "是"
## [3,] "中"
## [4,] "文"
## [5,] "字"
## [6,] "符"
## [7,] "你"
## [8,] "好"
## 
## [[2]]
##      [,1]
## [1,] "午"
## [2,] "后"
## [3,] "奶"
## [4,] "茶"
## [5,] "哈"
## [6,] "哈"
# 方法4,可以匹配3500常用汉字,和7000通用汉字,“龠”匹配不到
str_match_all(df,"[一-龟]")
## [[1]]
##      [,1]
## [1,] "这"
## [2,] "是"
## [3,] "中"
## [4,] "文"
## [5,] "字"
## [6,] "符"
## [7,] "你"
## [8,] "好"
## 
## [[2]]
##      [,1]
## [1,] "午"
## [2,] "后"
## [3,] "奶"
## [4,] "茶"
## [5,] "哈"
## [6,] "哈"
# 方法5 可以匹配全角字符,包括汉字和标点
str_match_all(df,"[^\\x00-\\xff]")
## [[1]]
##       [,1]
##  [1,] ","
##  [2,] ","
##  [3,] "这"
##  [4,] "是"
##  [5,] "中"
##  [6,] "文"
##  [7,] "字"
##  [8,] "符"
##  [9,] "。"
## [10,] "。"
## [11,] "你"
## [12,] "好"
## 
## [[2]]
##      [,1]
## [1,] "午"
## [2,] "后"
## [3,] "奶"
## [4,] "茶"
## [5,] ","
## [6,] "。"
## [7,] "哈"
## [8,] "哈"

是不是很方便,很强大呢?

活到老学到老!


以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发

欢迎在评论区留言或直接添加我的微信!


欢迎关注公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!


往期回顾

R语言和网络药理学:批量处理ETCM的数据


我的个人博客上线了!


R语言和医学统计学(合辑)


R语言机器学习R包:mlr3(合辑)


mlr3实战:决策树和xgboost预测房价

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存