2011-01-30 46 views
2

我在我的項目中有需求。 我在javascript中生成註釋字符串。需要獲取多行字符串以顯示在文本框中Java

Coping Option: Delete all codes and replace 
Source Proj Num: R21AR058864-02 
Source PI Last Name: SZALAI 
Appl ID: 7924675; File Year: 7924675 

我送這個的地方,我將其存儲在數據庫字符串,然後在那之後我找回它回來,並顯示在一個文本服務器。

我在JavaScript生成它:

 codingHistoryComment += 'Source Proj Num: <%=mDefault.getFullProjectNumber()%>'+'\n'; 
    codingHistoryComment += 'Source PI Last Name: <%=mDefault.getPILastName()%>'+'\n'; 
    codingHistoryComment += 'Appl ID: <%=mDefault.getApplId()%>; File Year: <%=mDefault.getApplId()%>'+'\n'; 

在java中,我試圖取代\ n至

String str = soChild2.getChild("codingHistoryComment").getValue().trim(); 
if(str.contains("\\n")){ 
    str = str.replaceAll("(\r\n|\n)", "<br>"); 
} 

但是textarea的仍然可以填入 「\ n」字符:

Coping Option: Delete all codes and replace\nSource Proj Num: R21AR058864-02\nSource PI Last Name: SZALAI\nAppl ID: 7924675; File Year: 7924675\n 

謝謝。

+1

@Vindhya 「textarea的..」。那究竟是什麼?一個java.awt.TextArea?一個javax.swing.JTextArea?完全不同的東西?請注意,如果您發佈了SSCCE(http://pscode.org/sscce.html)而不是代碼片段,則不需要這些問題。但總的來說,編程是一項精確的業務。請爲您的在線討論和調試帶來精確性。 – 2011-01-31 00:03:41

+1

你是用Java還是用Javascript編寫代碼?標籤和標題說Java,但你提到Javascript幾次在你的問題。 – Pekkasso 2011-01-31 00:20:46

回答

0

假設的Javascript(因爲你試圖用HTML斷線更換):

一個HTML textarea的新行應該是一個換行符\n而不是HTML斷線<br>。嘗試使用下面的代碼刪除額外的斜槓而不是當前的if語句並替換。更換後不要忘記將值分配給textarea。

嘗試:

str = str.replaceAll("\\n", "\n"); 
1

在java中我想成\ n替換到

不要更換 「\ n」。 JTextArea會將其解析爲一個新的行字符串。

試圖將它轉換爲「br」標記也無濟於事,因爲JTextArea不支持html。

我始終只使用如下代碼來填充文本區域與文本:

JTextArea textArea = new JTextArea(5, 20); 
textArea.setText("1\n2\n3\n4\n5\n6\n7\n8\n9\n0"); 
1
// automatically wrap lines 
jTextArea.setLineWrap(true); 
// break lines on word, rather than character boundaries. 
jTextArea.setWrapStyleWord(true); 

從。

0

我覺得你的問題是在這裏:

if(str.contains("\\n")){ 

而不是"\\n"你只需要"\n"

然後,而不是"\n"需要"\\n"這裏:

str = str.replaceAll("(\r\n|\n)", "<br>"); 

通過的方式, if(str.contains()不是真的需要,因爲如果沒有,它不會傷害運行全部替換個字符。

1

下面是測試這樣的作品,嘗試一下:

String str = "This is a test\r\n test."; 
if(str.contains("\r\n")) { 
    System.out.println(str); 
} 
相關問題