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
}
你爲什麼使用'\ n'作爲分隔符?爲什麼不是酒吧('|')? – dunli
@ dunli,因爲內容可能是一篇文章,它確實有'\ n'。 – flower
將你的短文本字符串'abc \ ndef'存儲在你的數據庫中,然後在沒有使用Java的mysql中執行'SELECT HEX()FROM WHERE <某些僅獲取該測試記錄的條件>'得到十六進制轉儲存儲在數據庫中的確切字符值。當您將存儲的數據返回到Java中時,請轉儲字符串中的實際字符值。這會告訴你它是否按照你的預期存儲,如果它在檢索時發生了變化,以及你想要分割的是什麼。 –