我有一个制表符分隔的字符串(代表一个表),它传递给我的方法。当我将它打印到命令行时,它看起来像一个带有行的表:
https://i.stack.imgur.com/2fAyq.gif
命令窗口已正确缓冲。我的想法是每行之前或之后肯定有一个换行符。
我的问题是我想将传入的字符串拆分为代表表行的单个字符串。到目前为止,我有:
private static final String newLine = System.getProperty("line.separator").toString();
private static final String tab = "\t";
private static String[] rows;
...
rows = tabDelimitedTable.split(newLine); //problem is here
System.out.println();
System.out.println("################### start debug ####################");
System.out.println((tabDelimitedTable.contains(newLine)) ? "True" : "False");
System.out.println("#################### end debug###################");
System.out.println();
输出:
################### start debug ####################
False
#################### end debug###################
显然,字符串中有一些东西告诉操作系统开始一个新行。然而它显然不包含换行符。
在 Windows XP SP3 上运行最新的 JDK。
有任何想法吗?