正则表达式替换以删除 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>
注:
- 查看 this 以了解有关
String::replaceAll
的更多信息。
- 正则表达式,
\s+
用于匹配space(s)。
我目前正在使用从 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>
注:
- 查看 this 以了解有关
String::replaceAll
的更多信息。 - 正则表达式,
\s+
用于匹配space(s)。