Regex 如何使用coldfusion正则表达式删除空的td标记
我试图从html页面中删除空的Regex 如何使用coldfusion正则表达式删除空的td标记,regex,coldfusion,Regex,Coldfusion,我试图从html页面中删除空的td元素,那些td元素中有一些空间,但它们是空的 我尝试了以下两种方法,但都不适合我 <cfset data= Replace(data,'<td></td>','','all')> <cfset data= ReReplace(data,'<\w+[^>]*(/>|>\s*?</\w+>)','','all')> 另一件事:我有许多th元素,我如何编写某种逻辑来保留第一个遇
td
元素,那些td
元素中有一些空间,但它们是空的
我尝试了以下两种方法,但都不适合我
<cfset data= Replace(data,'<td></td>','','all')>
<cfset data= ReReplace(data,'<\w+[^>]*(/>|>\s*?</\w+>)','','all')>
另一件事:我有许多th
元素,我如何编写某种逻辑来保留第一个遇到的th
并删除所有其他元素,包括tr
,在其中它们将被定义要删除
标记和中间有空格的结束标记,使用regex,应该非常简单:
<cfset mydata = REReplace(mydata, "<td\b[^>]*>\s*<\/td>", "", "All") />
我在上面声明了一个单词边界,以避免替换任何以td
开头但不是
标记的标记(尽管我想不出任何标记)
您的第二次尝试(使用
\w
字符类)将删除比
标记多得多的内容 html页面从何而来?我已经将页面保存在我的系统上并阅读了它。如果这是一次性的事情,手动操作可能会更快。但这不是一次性的,如果是这样的话,我可以在发布问题之前控制自己。在这种情况下,我建议一步一步地进行。你贴了两个标签和一个非常含糊的声明,说明你没用。每个标签到底发生了什么?