楼主: huapeng66
1484 9

[问答] 请问grepl怎么查找某个单词及其后0或1个字母? [推广有奖]

  • 6关注
  • 0粉丝

博士生

47%

还不是VIP/贵宾

-

威望
0
论坛币
5217 个
通用积分
7.0196
学术水平
3 点
热心指数
4 点
信用等级
2 点
经验
24876 点
帖子
133
精华
0
在线时间
320 小时
注册时间
2018-9-16
最后登录
2023-3-21

楼主
huapeng66 学生认证  发表于 2021-6-2 14:04:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
例如:
example <- c("book","books","booked","booking")

需要查出
newdata <- ("book","books")

请问如何用正则来实现?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:GRE example ExamP AMPL Exam

沙发
ofoliao 发表于 2021-6-2 14:40:39
library(stringr)
example <- c("book","books","booked","booking")

newdata <- example[str_which(example, "(book|books)$")]
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
ofoliao 发表于 2021-6-2 14:45:07

or

newdata <-example[grepl("(book|books)$", example)]

板凳
ofoliao 发表于 2021-6-2 14:50:18

or

newdata <-example[grepl("book(s{0,1})$", example)]

报纸
huapeng66 学生认证  发表于 2021-6-2 14:58:31
ofoliao 发表于 2021-6-2 14:50
or
newdata &lt;-example[grepl("book(s{&#48;,1})$", example)]
谢谢!如果有n个单词遍历时,怎么写正则表达式呢?

地板
ofoliao 发表于 2021-6-2 15:01:04
huapeng66 发表于 2021-6-2 14:58
谢谢!如果有n个单词遍历时,怎么写正则表达式呢?
不太明白你的意思,请描述的详细点

7
huapeng66 学生认证  发表于 2021-6-2 15:17:24
ofoliao 发表于 2021-6-2 15:01
不太明白你的意思,请描述的详细点
例如:
  1. library(stringr)
  2. example <- c("book","books","booked","booking","look","looking")
复制代码
我需要提取
  1. newdata <- c("book","books","look")
复制代码

8
huapeng66 学生认证  发表于 2021-6-2 15:20:09
ofoliao 发表于 2021-6-2 15:01
不太明白你的意思,请描述的详细点
例如:
  1. library(stringr)
  2. example <- c("book","books","booked","booking","look","looking")
复制代码
我需要提取
  1. newdata <- c("book","books","look")
复制代码

9
owenqi 在职认证  学生认证  发表于 2021-6-2 23:04:50
huapeng66 发表于 2021-6-2 15:20
例如:我需要提取
这个答案依然适用吧,你吧开头的‘b’去掉就好了。
  1. example[str_which(example, "(ook|ooks)$")]
复制代码

10
ofoliao 发表于 2021-6-3 08:46:28

那需要观察需要提取的n个单词的特征,比如:

example <- c("book","books","booked","booking","look","looking")
newdata <-example[grepl("^(b|l)ook(s{0,1})$", example)]
newdata

能提取:

> newdata
[1] "book"  "books" "look" 

实际上,looks也符合这个正则表达式。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 15:24