Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R提取两个字符之间的上下文,同时保持这两个信号?_R_Regex_Replace_Extract_Between - Fatal编程技术网

如何使用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=”“)