我有一個Java字符串,如下面有多行和空格的字符串。需要刪除所有這些,這些都是一行。替換空白行和空格java
這些XML標記和編輯器不允許包含小於符號
<paymentAction>
Authorization
</paymentAction>
應該成爲
<paymentAction>AUTHORIZATION</paymentAction>
在此先感謝
我有一個Java字符串,如下面有多行和空格的字符串。需要刪除所有這些,這些都是一行。替換空白行和空格java
這些XML標記和編輯器不允許包含小於符號
<paymentAction>
Authorization
</paymentAction>
應該成爲
<paymentAction>AUTHORIZATION</paymentAction>
在此先感謝
調用theString.replaceAll("\\s+","")
將替換所有空白序列空的字符串。只要確保標籤之間的文本不包含空格,othewerise也會被刪除。
好吧,它聽起來像OP想要在標籤之間保留一個換行符。認爲我們可以適應這一點,與之合作? – 2012-08-09 18:18:42
@DennisMeng我不知道爲什麼你需要保持之間的換行。但是,這個答案刪除了任何空格,這是行不通的。 – 2012-08-09 18:27:25
@JuanMendes最初,OP希望每條標籤都在一條線上。 – 2012-08-09 18:28:41
你基本上想要將XML轉換爲Canonical Form。下面是這樣做的一種方式,但它需要你使用該庫。如果您不想依賴外部庫,那麼另一個選擇是使用XSLT。
Apache的XML安全項目的Canonicalizer類:
注:使用非XML API察覺的處理一般不建議作爲你最終處理特殊/異常情況下(String.replaceAll())。
這是一個開始。可能還不夠,但應該朝正確的方向發展。
xml.replaceAll(">\\s*", ">").replaceAll("\\s*<, "<");
不過,我很想說,必須有創造從XML文檔,然後將其序列化規範形式作爲盤古建議的方式。
你真的想要做出最後的改變嗎?現在它沒有任何意義...... – kentcdodds 2012-08-09 18:25:44