我想读取一个文本文件,其中字段数据由定界符| (管道符号)。
但发生了一些意外:
这是我的代码:
doScannerTest ("Y~2011~GT~Nepal~Ganesh~Tiwari~N", "~");
doScannerTest("Y|2011|GT|Nepal|Ganesh|Tiwari|N", "|");
private static void doScannerTest(String recordLine, String delim) {
java.util.Scanner lineScanner = new java.util.Scanner(recordLine);
lineScanner.useDelimiter(delim);
while (lineScanner.hasNext()) {
System.out.println(lineScanner.next());
}
}
delim〜工作正常,但|打印recordLine中的所有字符。
为什么与delim记录|不管用 ?我无法更改框架代码(使用扫描仪)和字符串拆分。
最佳答案
竖线字符是保留的正则表达式字符,您需要对其进行转义。
例如您需要使用
\\|
将其放在您的代码中给出以下输出