首页 > 解决方案 > 删除新行,但如果包含在文本边界内则不删除

问题描述

我有多个这样的文本部分:

<par>
<button width="2in" maxlines="1">
<code event="onClick" for="web">
<javascript>doClose();
doRemove();
doNotify();</javascript>
</code>Close</button>
</par>
<par>
<button width="2in" maxlines="1">
<code event="onClick" for="web">
<javascript>doClose();
doRun();</javascript>
</code>Run</button>
</par>

我想删除<button>元素中存在的任何新行,但如果它在 a<javascript>元素中则不删除。我正在寻找的结果是这样的:

<par>
<button width="2in" maxlines="1"><code event="onClick" for="web"><javascript>doClose();
doRemove();
doNotify();</javascript></code>Close</button>
</par>
<par>
<button width="2in" maxlines="1"><code event="onClick" for="web"><javascript>doClose();
doRun();</javascript></code>Run</button>
</par>

这可以用一个正则表达式来完成吗?

原因:这里的问题是因为在<button>元素text()中有新行(例如在<button>开始标记之后),元素的“标签”<button>计算为“\nClose”和“\nRun”。所以我想消除 text() 中的新行,但保留其他新行(<javascript>元素中的行)完好无损。

现在我正在仔细研究一下,也许我正在寻找的是在<button>开始标记之后删除新行。嗯

(我正在使用java)

标签: regex

解决方案


推荐阅读