【发布时间】:2019-04-26 20:15:31
【问题描述】:
我有一个包含日期连字符的文件。
例如:
阿贝 F 5-5-1996 0 0 0 0 约翰 M 5-5-1997 10 10 10 10https://i.imgur.com/TmGMLUg.png“例子”
我遇到的问题是尝试打印将所有内容放在一行中。
我累了:
line.useDelimiter("[\t \r]");
line.useDelimiter("-"); //to remove the hypens.
Scanner input = new Scanner(new FileReader(filename));
while(input.hasNextLine()) {
Scanner line = new Scanner(input.nextLine());
line.useDelimiter("[\t \r]"); // Tab (\t) and/or space ( ) and/or carriage return (\r) delimited file
line.useDelimiter ("-");
lineno++;
System.out.println("--------READING-LINE-" + lineno + "--------");
while(line.hasNext())
System.out.println(line.next());
line.close();
待打印
阿贝 F 5 5 1996 0 0 0 0 --------READING-LINE-2-------- 约翰 米 5 5 1997 10 10 10 10【问题讨论】:
-
我正在尝试去掉连字符并打印所有内容。
-
无论如何,现在我怀疑您可能正在寻找
line.useDelimiter("[\t \r-]");,或者如果您决定在line.useDelimiter("[\t \r\\-]");之后添加更多字符,则可以更安全地使用它。让我知道这是否给出了您想要的结果以及您是否需要进一步解释。 -
"print everything in line" 通常表示在一行中打印 horizontal,但您的示例显示 vertical “预期”结果很少令人困惑。
-
是的,我的意思是垂直。谢谢您的帮助。您提供的代码给了我想要的结果。进一步的解释会很好。