正则表达式替换以删除 html 标签之间的空格

Regex replacement to remove whitespace between html tags

我目前正在使用从 mustache/handlebars 模板构建的 HTML。

目标是在 handlebars 生成文本后获取文本,并通过删除不必要的空白字符来减小其大小,但保持标签的属性值和内容不变。

考虑以下示例:

</p>                                </td>                            </tr>                            <tr>                                <td>

应该变成:



</a></td></tr><tr><td>


并且:


<p align="left"> Untouchable text </p>               </td>            </tr> 


应该变成:


<p align="left"> Untouchable text </p></td></tr> 


您可以使用 replaceAll(">\s+<", "><") 如下所示:

public class Main {
    public static void main(String[] args) {
        String s = "<p align=\"left\"> Untouchable text </p>               </td>            </tr>";
        System.out.println(s.replaceAll(">\s+<", "><"));
    }
}

输出:

<p align="left"> Untouchable text </p></td></tr>

注:

  1. 查看 this 以了解有关 String::replaceAll 的更多信息。
  2. 正则表达式,\s+用于匹配space(s)。