2012-08-09 155 views
-1

我有一個Java字符串,如下面有多行和空格的字符串。需要刪除所有這些,這些都是一行。替換空白行和空格java

這些XML標記和編輯器不允許包含小於符號

<paymentAction> 

      Authorization 

</paymentAction> 

應該成爲

<paymentAction>AUTHORIZATION</paymentAction> 

在此先感謝

+0

你真的想要做出最後的改變嗎?現在它沒有任何意義...... – kentcdodds 2012-08-09 18:25:44

回答

1

調用theString.replaceAll("\\s+","")將替換所有空白序列空的字符串。只要確保標籤之間的文本不包含空格,othewerise也會被刪除。

+0

好吧,它聽起來像OP想要在標籤之間保留一個換行符。認爲我們可以適應這一點,與之合作? – 2012-08-09 18:18:42

+0

@DennisMeng我不知道爲什麼你需要保持之間的換行。但是,這個答案刪除了任何空格,這是行不通的。 – 2012-08-09 18:27:25

+0

@JuanMendes最初,OP希望每條標籤都在一條線上。 – 2012-08-09 18:28:41

1

你基本上想要將XML轉換爲Canonical Form。下面是這樣做的一種方式,但它需要你使用該庫。如果您不想依賴外部庫,那麼另一個選擇是使用XSLT。

Apache的XML安全項目的Canonicalizer類:

注:使用非XML API察覺的處理一般不建議作爲你最終處理特殊/異常情況下(String.replaceAll())。

0

這是一個開始。可能還不夠,但應該朝正確的方向發展。

xml.replaceAll(">\\s*", ">").replaceAll("\\s*<, "<"); 

不過,我很想說,必須有創造從XML文檔,然後將其序列化規範形式作爲盤古建議的方式。