首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除以R中正则表达式开头和结尾的字符串的一部分

删除以R中正则表达式开头和结尾的字符串的一部分
EN

Stack Overflow用户
提问于 2020-07-23 04:23:27
回答 2查看 36关注 0票数 1

我有一组字符串,以匿名开头,以;sign结尾。我想从字符串集中删除这一部分。

例如,我有这样的字符串:

代码语言:javascript
复制
"[ANONYMOUS],1756 , An Intro, V19;BIAN C, 2016, WINIT, V7, P83;"

我想要这个:

代码语言:javascript
复制
"BIAN C, 2016, WINIT, V7, P83;"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-23 04:26:44

我们可以使用sub来匹配模式匿名(它是元字符,所以我们转义\\),从字符串的开头(^)开始,然后是字符串‘\\’,然后是结束括号]和一个或多个不是匿名的字符([^;]+),并替换为空白("")

代码语言:javascript
复制
sub("^\\[ANONYMOUS\\][^;]+;", "", str1)

数据

代码语言:javascript
复制
str1 <- '[ANONYMOUS],1756 , An Intro, V19;BIAN C, 2016, WINIT, V7, P83;'
票数 1
EN

Stack Overflow用户

发布于 2020-07-23 05:08:12

您可以使用str_extract和lookahead以及lookahead:

代码语言:javascript
复制
library(stringr)
str_extract(str1, "(?<=;).*(?=;)")
[1] "BIAN C, 2016, WINIT, V7, P83"

此模式匹配左边的分号((?<=;))和右边的分号((?=;))之间的任何内容(.*)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63042622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档