【发布时间】:2016-02-15 08:57:00
【问题描述】:
我正在寻找一种从 XML 节点的值中删除前导和尾随空格的方法。给定以下基本示例:
<CAR>
<MAKE> Ford </MAKE>
<COLOR> Yellow </COLOR>
<!--<YEAR> 1987 </YEAR>-->
</CAR>
我需要得到以下输出:
<CAR>
<MAKE>Ford</MAKE>
<COLOR>Yellow</COLOR>
<!--<YEAR> 1987 </YEAR>-->
</CAR>
我设法通过连续应用以下两个正则表达式来完成所有这些工作:
>\s*[^a-zA-Z0-9^<]*
[^a-zA-Z0-9^>]*\s*</
由于我对正则表达式的了解非常有限,所以我只能想到这些。问题是每当文件包含 cmets 时,我都会得到一个损坏的 XML 文档。
那么,任何人都可以帮助我获得一个表达式,成功地从值中删除前导和尾随空格,同时保持所有 cmets 完好无损吗?
我希望,我说清楚了。 提前谢谢!
【问题讨论】:
-
你试过[\S](大写s)
-
有一个很棒的网站可以试用您的正则表达式:regexr.com 试试看。它可能会有所帮助:D
-
我会建议另一种解决问题的方法。您可以尝试 XSLT 删除空格。 stackoverflow.com/questions/16933351/…