gpt4 book ai didi

Java - 扫描器 : reading line of record separated by Pipe | as delimiter

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:40 26 4
gpt4 key购买 nike

我想读取一个文本文件,其中字段数据由定界符分隔 | (管道符号)。

但一些意想不到的事情发生了:

这是我的代码:

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 ~ 工作正常但是 |打印记录行中的所有字符。

为什么要用delim记录|不管用 ?我无法更改框架代码(使用 Scanner)和使用 String Split。

最佳答案

管道字符是保留的正则表达式字符,您需要对其进行转义。例如你需要使用

\\|

将其放入您的代码中会得到以下输出

  • 2011
  • GT
  • 尼泊尔
  • 象头神
  • 蒂瓦里语
  • N

关于Java - 扫描器 : reading line of record separated by Pipe | as delimiter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9177039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com