Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
排除Regex/gsub中的特定字符串_R_Regex - Fatal编程技术网

排除Regex/gsub中的特定字符串

排除Regex/gsub中的特定字符串,r,regex,R,Regex,我可以使用以下方法删除“”和“”之间的所有内容: 理想输出: [1] "Hello" "I want to keep this <important text>" [1]“你好”“我想留下这个” 您可以使用 character\u vector[1]“你好” ##[2]“我想保留这个和” 请参阅和。)[^>]*>正则表达式匹配 字符,则如果存在CODEEMENTAL text/code或codestring?

我可以使用以下方法删除“”和“”之间的所有内容:

理想输出:

[1] "Hello"                "I want to keep this <important text>"
[1]“你好”“我想留下这个”
您可以使用

character\u vector[1]“你好”
##[2]“我想保留这个和”
请参阅和。
)[^>]*>
正则表达式匹配

  • 字符,则如果存在CODEEMENTAL text/code或codestring?/code,则会导致匹配失败的负前瞻
  • [^>]*
    -零个或多个字符,而不是
  • -一个
    字符

regex.escape
函数对于转义任何特殊字符(
]
[
{
+
*
^
)这在
排除
字符向量项中出现。

它是通过一个前瞻和一个PCRE正则表达式来完成的:
gsub(“()[^>]*>”,“,abc,perl=TRUE)
删除了我的注释…您仍在统治,但如果我想为
提供多个参数,该怎么办?我要构建的函数将连接用户提供的值。
gsub((()[^>]*>),“,abc,perl=TRUE)
@WiktorStribiżew perfect.谢谢!但有一个问题:字符串中是否有特殊字符要排除?比如
[
+
?如果您无法控制进入替换的内容,这些可能会阻止代码正常工作。非常感谢,这太好了。@Matt这是一个正则表达式,允许完全匹配
的异常。如果您想将它们作为部分字符串排除,您可以替换
”)[^>]*>“
”)[^>]*>“
(只有在

character_vector <- c("<br>Hello</br>", "I want to keep this <important text>")

character_vector <- gsub("(<[^>]*>)","",character_vector)
[1] "Hello"                "I want to keep this "
[1] "Hello"                "I want to keep this <important text>"