2015-11-05 43 views
1

在我的Java代碼中,我定義了一個字符串String strExample='abc\ndef'。現在我想分割它。所以我嘗試獲取字符串的長度。如何在從mysql讀取數據時在java中分割「 n」?

int strArrlength=strExample.split("\n").length 

結果是2 但是當我嘗試寫strExample到MySQL表,然後從表中讀取它,在相同的代碼我得到的長度爲1 我的開發環境是Windows 8.1,並且數據庫安裝在CentOS 6.5中。
有什麼問題?我試圖改變這樣的代碼:

strExample.split("\\n"),split("\r\n"),split("\n+"),split("\\r?\\n") 

但他們都返回1;

這是我的測試,但仍然無法正常工作。

private final static String  mHexStr1="5468697320697320612074657374EFBC815C6E204F6E6C792061207465737421"; 
public static void main(String[] args) { 
    String testStr=hexStr2Str(mHexStr1); 
    System.out.print(testStr+";"+testStr.split("\\n").length);//return 1 
    String abc="This is a test!\n Only a test!"; 
    System.out.println(abc+";"+abc.split("\n").length);//return 2 
} 
+0

你爲什麼使用'\ n'作爲分隔符?爲什麼不是酒吧('|')? – dunli

+0

@ dunli,因爲內容可能是一篇文章,它確實有'\ n'。 – flower

+0

將你的短文本字符串'abc \ ndef'存儲在你的數據庫中,然後在沒有使用Java的mysql中執行'SELECT HEX()FROM WHERE <某些僅獲取該測試記錄的條件>'得到十六進制轉儲存儲在數據庫中的確切字符值。當您將存儲的數據返回到Java中時,請轉儲字符串中的實際字符值。這會告訴你它是否按照你的預期存儲,如果它在檢索時發生了變化,以及你想要分割的是什麼。 –

回答

1

你並不需要選擇HEX content.Just替換數據\\n\n這是從MySQL讀取。