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中时,请转储字符串中的实际字符值。这会告诉你它是否按照你的预期存储,如果它在检索时发生了变化,以及你想要分割的是什么。 –