js-txt文本處理
寫自己主頁項目時所產生的小問題拿出來給大家分享分享,以此共勉。 ---DanlV
TextArea的換行符處理
TextArea文本轉換為Html:寫入數據庫時使用
js獲取了textArea的文本內容之后,器內容含有換行,空格,制表符之類的字符,但是js字符串不支持換行,否則報錯。這個封裝是將獲取的原內容中換行全部替換掉,下次讀取時,直接輸出到HTML元素中。
public static String Text2Html(String str) {
if (str == null) {
return "";
}else if (str.length() == 0) {
return "";
}
str = str.replaceAll("\n", "<br />");
str = str.replaceAll("\r", "<br />");
return str;
}
Html轉換為TextArea文本
轉換了之后的文本,在直接輸出是,需要照着用戶輸入的格式輸出,該換行就換行。
public static String HtmlToText(String str) {
if (str == null) {
return "";
}else if (str.length() == 0) {
return "";
}
str = str.replaceAll("<br />", "\n");
str = str.replaceAll("<br />", "\r");
return str;
}
網絡上的方式
在自己寫上述兩種方法之前,也在網絡上搜索了一些知識,但是自己實踐之后並不是很有用,反而有錯誤,也給大家謝記下來。
斜杠的替換
在編程過程中,需要將一個字符串中的反斜杠()全部替換成(\),很簡單的操作但是很容易報錯。
比如:String filePath = "D:\daxiang\test\daxiang.jpg" ;
開始時,調用 replaceAll()方法以為就能替換的代碼如下:
filePath = filePath.replaceAll("","\");
但程序會報正則表達式的錯誤。
經過網上查找一些例子,將錯誤原因和解決方法總結如下:
在不同的系統中,路徑的分隔符不同,故需要做出判斷,並切換分隔符
(1) Java把字符串中的反斜杠()替換成(\)
Java中的replaceAll()方法要用4個反斜杠,表示一個反斜杠
replaceAll()方法實際是采用正則表達式的規則去匹配的。 在regex中"\"表示一個"",在java中一個""也要用"\"表示。這樣,前一個"\"代表regex中的"",后一個"\"代表java中的"",所以字符串轉義一次,正則轉義一次,那么一個斜扛要寫4個,要想使用 replaceAll()方法將字符串中的反斜杠()替換成(\),則需要這樣寫:replaceAll("\\","\\\\")
例:
str1="aa\bbb"; str2="aa'bbb" ;
要想替換成
str1="aa\bbb";str2="aa'bbb" ;
必須這樣替換:
str1 = str1.replaceAll("\\","\\\\") ;
str2 =str2.replaceAll("'", "\\'") ;
(2) Java把字符串中的反斜杠(/)替換成()
replaceAll("/","\\") ;
