正则表达式删除 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>"
如何删除标签之间的白色 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>"