正则表达式删除 gsub R 中标签之间的白色 space

Regex to remove white space between tags in gsub R

如何删除标签之间的白色 space 或制表,而不是从标签内部删除它,我尝试了 gsub 但没有成功

gsub("(^>)\s(^<)", "", x)

给定一个字符串:

 "<div class=\"panel\">\n   <div class=\"shortcode\">\n\t    <div class=\"article-\"> text text text text </div> \n    </div>\n    </div>"

期望的输出:

<div class=\"panel\"><div class=\"shortcode\"><div class=\"article-\"> text text text text </div></div></div>

我们可以利用标签之间有 \n 的事实给出特别简单的解决方案:

1) 如果 s 是输入字符串则:

gsub("\s*\n\s*", "", s)

(如果 \t 不能像问题中的情况那样出现在标签中,那么模式也可以写成 " *[\n\t] *"。)

2)另一种方式是:

paste(sapply(strsplit(s, "\n"), trimws), collapse = "")

您可以尝试使用 look around

gsub("(?<=\>)(\s*)(?=\<)", "", x, perl = TRUE)
## [1] "<div class=\"panel\"><div class=\"shortcode\"><div class=\"article-\"> text text text text </div></div></div>"