使用gsub R删除所有特定的html标签

萨利姆

我有一个像

txt<-"text text text <div><div><script>xxxx</script></div><scrip>yyyyy</script>text </div><script>zzzzzz</script>"

我要删除所有脚本标签及其内容。

"text text text <div><div></div>text </div>"

我试过了

gsub("<script.*?>(.*)<\\/script>", "", txt)

您能否给我们提供一个很好的教程,以学习R的快速正则表达式

提前致谢

威克多·斯特里比尤(WiktorStribiżew)

您第一次尝试贪婪点匹配注定要失败,因为贪婪匹配不能确保最短匹配(当然,懒惰也不能保证最短匹配),而这只会匹配中间所有必要的文本。

在采用了最新的尝试<script>[^</script>^<script>]+</script>也并不有效,[^</script>^<script>]+比其他1个或多个字母匹配</script>^显然,这不是您所需要的。

从问题本身抽象出来,可以使用正则表达式从文本中删除大块来处理任何纯文本文件

当我们需要在一些不相同的标记(或定界符)之间匹配子字符串时,我们可以使用展开循环技术支持先行的类似Perl的正则表达式

以下是适用于任何大小的纯文本的工作代码:

txt<-"text text text <div><div><script>xxxx</script></div><script>yyyyy</script>text </div><script>zzzzzz</script>"
gsub("<script\\b[^<]*>[^<]*(?:<(?!/script>)[^<]*)*</script>", "", txt, perl=T)
## [1] "text text text <div><div></div>text </div>"

正则表达式演示在这里可以看到这里是IDEONE演示

基本上,这符合:

  • <script\\b[^<]*>-任何<script>带有内部属性的开始标记(不是<不能出现在HTML属性中的标记,因此[^<]*[^<>]*使用更安全[^>]*
  • [^<]*(?:<(?!/script>)[^<]*)*-(?s).*?与任何文字匹配的展开结构,但</script>
  • </script>-结束</script>标签

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用gsub R删除所有特定的html标签

来自分类Dev

使用 jquery 从所有标签文本中删除特定的 html 实体字符

来自分类Dev

在R中使用gsub替换特定模式

来自分类Dev

在R中,使用gsub删除除句点以外的所有标点符号

来自分类Dev

如何使用sed删除所有HTML标签?

来自分类Dev

使用 JavaScript 从 HTML 表单中删除所有输入标签

来自分类Dev

R:使用grep / gsub查找重复的模式

来自分类Dev

在R中使用gsub进行多项更改

来自分类Dev

R:使用grep / gsub查找重复的模式

来自分类Dev

使用gsub和awk从特定列中删除dot(。)

来自分类Dev

如何使用gsub替换所有以“ border-”开头的类?

来自分类Dev

使用gsub删除R中的奇数字符

来自分类Dev

使用gsub()从R中的字母之间删除多余的空格

来自分类Dev

使用 XSLT 函数删除除允许标签之外的所有 html 标签

来自分类Dev

使用 ES6 Javascript 删除页面中除 <a> 标签之外的所有 html 标签?

来自分类Dev

使用mutate和gsub将所有值替换为特定列中的NA

来自分类Dev

使用R中的gsub删除数据框中的特定字母

来自分类Dev

使用gsub查找R中所有不相等的值

来自分类Dev

使用gsub查找R中所有不相等的值

来自分类Dev

如何使用gsub()删除复杂的字符串模式

来自分类Dev

如何使用gsub()删除复杂的字符串模式

来自分类Dev

无法使用 gsub 或 trimws 删除前导/尾随空格

来自分类Dev

使用gsub替换特定列中的字符串

来自分类Dev

当我匹配特定列时使用gsub

来自分类Dev

当我没有使用 gsub 函数时,R 中的重新编码函数出现奇怪的 gsub 错误

来自分类Dev

使用gsub的语料库中的R tm替代词

来自分类Dev

代替 ”。” 在R中使用gsub()获得空间?

来自分类Dev

在gsub r中使用正则表达式模式

来自分类Dev

使用gsub在R中的某些单词之后插入空格

Related 相关文章

  1. 1

    使用gsub R删除所有特定的html标签

  2. 2

    使用 jquery 从所有标签文本中删除特定的 html 实体字符

  3. 3

    在R中使用gsub替换特定模式

  4. 4

    在R中,使用gsub删除除句点以外的所有标点符号

  5. 5

    如何使用sed删除所有HTML标签?

  6. 6

    使用 JavaScript 从 HTML 表单中删除所有输入标签

  7. 7

    R:使用grep / gsub查找重复的模式

  8. 8

    在R中使用gsub进行多项更改

  9. 9

    R:使用grep / gsub查找重复的模式

  10. 10

    使用gsub和awk从特定列中删除dot(。)

  11. 11

    如何使用gsub替换所有以“ border-”开头的类?

  12. 12

    使用gsub删除R中的奇数字符

  13. 13

    使用gsub()从R中的字母之间删除多余的空格

  14. 14

    使用 XSLT 函数删除除允许标签之外的所有 html 标签

  15. 15

    使用 ES6 Javascript 删除页面中除 <a> 标签之外的所有 html 标签?

  16. 16

    使用mutate和gsub将所有值替换为特定列中的NA

  17. 17

    使用R中的gsub删除数据框中的特定字母

  18. 18

    使用gsub查找R中所有不相等的值

  19. 19

    使用gsub查找R中所有不相等的值

  20. 20

    如何使用gsub()删除复杂的字符串模式

  21. 21

    如何使用gsub()删除复杂的字符串模式

  22. 22

    无法使用 gsub 或 trimws 删除前导/尾随空格

  23. 23

    使用gsub替换特定列中的字符串

  24. 24

    当我匹配特定列时使用gsub

  25. 25

    当我没有使用 gsub 函数时,R 中的重新编码函数出现奇怪的 gsub 错误

  26. 26

    使用gsub的语料库中的R tm替代词

  27. 27

    代替 ”。” 在R中使用gsub()获得空间?

  28. 28

    在gsub r中使用正则表达式模式

  29. 29

    使用gsub在R中的某些单词之后插入空格

热门标签

归档