js-TextArea的換行符處理

js-txt文本處理

    寫本身主頁項目時所產生的小問題拿出來給你們分享分享,以此共勉。
                                        ---DanlV

TextArea的換行符處理

TextArea文本轉換爲Html:寫入數據庫時使用

js獲取了textArea的文本內容以後,器內容含有換行,空格,製表符之類的字符,可是js字符串不支持換行,不然報錯。這個封裝是將獲取的原內容中換行所有替換掉,下次讀取時,直接輸出到HTML元素中。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文本

轉換了以後的文本,在直接輸出是,須要照着用戶輸入的格式輸出,該換行就換行。java

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("/","\\") ;編程

相關文章
相關標籤/搜索