如何使用R提取两个字符之间的上下文,同时保持这两个信号?
例如:如何使用R提取两个字符之间的上下文,同时保持这两个信号?,r,regex,replace,extract,between,R,Regex,Replace,Extract,Between,例如: a <- 'i am a <> student <>' 如果将其替换为-,则结果为: student 'i am a <>--<>' “我是--” 我已经尝试了str_extract和str_replace_all,但都不起作用。使用sub仅替换一个匹配项: a <- 'i am a <> student <>' out <- sub(">[^<]+<", ">-
a <- 'i am a <> student <>'
如果将其替换为-,则结果为:
student
'i am a <>--<>'
“我是--”
我已经尝试了str_extract和str_replace_all,但都不起作用。使用
sub
仅替换一个匹配项:
a <- 'i am a <> student <>'
out <- sub(">[^<]+<", ">--<", a)
out
[1] "i am a <>--<>"
a使用sub
仅替换单个事件:
a <- 'i am a <> student <>'
out <- sub(">[^<]+<", ">--<", a)
out
[1] "i am a <>--<>"
a既然您提到了str_extract
和str_replace
,我们可以用下面的方法将它们与正向的lookahead和lookback正则表达式一起使用
library(stringr)
str_extract(a, "(?<=<> ).*(?= <>)")
#[1] "student"
由于您提到了str\u extract
和str\u replace
,我们可以用下面的方法将它们与正向的lookahead和lookbehind正则表达式一起使用
library(stringr)
str_extract(a, "(?<=<> ).*(?= <>)")
#[1] "student"
谢谢你能告诉我如何提取两个字符之间的上下文吗?谢谢。你能告诉我如何提取两个字符之间的上下文吗?嗨,陈峰,我想知道我是否可以提出一个小要求?当提出问题时,我们更希望它们是以技术性和中性的风格编写的。乞求、恳求和恳求读者回答的闲聊材料可能被认为有点强制性,并不适合志愿者观众。请保持简洁。非常感谢。嗨,陈峰,我想知道我是否可以提出一个小小的要求?当提出问题时,我们更希望它们是以技术性和中性的风格编写的。乞求、恳求和恳求读者回答的闲聊材料可能被认为有点强制性,并不适合志愿者观众。请保持简洁。非常感谢。谢谢!,我可以再问一个例子吗:“我是一名学生”的字串是什么?我希望结果是:“我是学生”。i、 例如,查找所有介于和之间的文本?介于
和
之间的文本是我是一名学生
。为此,您可以执行str_extract(a),(?我的意思是有两组and:am和student。因此,reslut是:am student。@FengChen ah.。我明白了。在这种情况下,我将采取不同的方法。尝试paste0(qdapRegex::ex_between(a),“”)[[1]],collapse=”“)
非常感谢!我可以再问一个例子吗:字符串是什么?我是一名学生?我想要的结果是:'am student'。即,找到所有介于和之间的文本?介于
和
之间的文本是我是一名学生
。为此,您可以执行stru提取(a,“(?我的意思是有两组and:am和student。因此,reslut是:am student。@FengChen ah..我明白了。在这种情况下,我将采取不同的方法。尝试paste0(qdapRegex::ex_-between(a,“,”)[[1]],collapse=”“)