2012-05-18 71 views
4

我想更換內部<>NULL與\ n即它應該去下一行。更換<NULL>標籤與換行符在Java中

我已經嘗試使用

 String replace_string = str.replaceAll("<NULL>","\n"); 

輸出是:這是消除但字符串的下一個內容是不會下一行。

以下是我的字符串:從我的字符串中的某些文本

"~|B| Book Definition ID = NORMAL"+ 
"~|B| Side = <NULL>"+ 
"~|B| Status = <NULL>"+ 
"~|B| Owner ID = <NULL>"+ 
"~|B| Session Index = <NULL>"+ 
"~|B| Value = <NULL>"+ 
"~|B| Time Duration = <NULL>" 

誰能幫我?

感謝&問候,

雷努

+0

你的意思是它消除但不插入新行?或者它插入換行符,但它沒有效果? – keyser

+0

如果新行無效,它可能是您的操作系統。你可以嘗試System.getProperty(「line.separator」)來爲你的操作系統獲取正確的新行。 – n00begon

+0

感謝您的回覆。其實我可以在我的Java程序中看到,但是新行不插入JIRA – Renuka

回答

3

有你的標籤空間,是故意的嗎?如果是這樣,請使用str.replaceAll("<\\s*NULL>", "\n")

+0

感謝您的回覆。不,實際上沒有空格我給了,因爲這個標籤沒有被顯示出來 – Renuka

0

我認爲空白是罪魁禍首。如果您不知道要替換的字符串部分是否有空格,則應考慮使用RegEx來匹配要替換的字符串部分。

1

更新時間:依照Javadoc,試試這個來代替:

String replace_string = str.replaceAll("<NULL>",Matcher.quoteReplacement("\n")); 
+0

Hi Stefan,它不是一個HTML頁面,它是一個非常簡單的字符串操作** \ n **不適用於我,我想插入新行 – Renuka

+0

What do you意思是_「其實我可以在我的Java程序中看到,但是新行並沒有插入到JIRA中」_?你在哪裏看到了結果字符串?還要注意,在這個操作之後,變量'str'不會被改變 - 你需要使用'replace_string'。 –

+0

是的,我只使用replace_string。我可以在日誌文件中看到以及當我在java控制檯中運行我的程序時,我可以看到標記被空白而不是換行代替 – Renuka