【问题标题】:Print all text in-between two characters打印两个字符之间的所有文本
【发布时间】:2019-03-30 05:21:59
【问题描述】:

我想从文本文件中打印文本的特定部分。 例如:

数字)街道)城市)州)国家)

我想从) 打印到),以便任何街道名称或国家/地区都可以进入文本文件。我所做的是:

  • 我尝试将扫描仪连接到文件并使用.hasNextLine(); 创建一个while循环
  • 然后为整个文本文件String line = textscanner.nextLine();创建一个字符串
  • 然后打印出country,例如,我将创建一个子字符串System.out.print(line.substring(25));

但是,如果文件中有不同的街道或国家/地区名称,这将不起作用。我该如何制作它才能打印从)) 的任何内容?

【问题讨论】:

  • 你能举几行实际文件的例子吗?
  • 使用 hasNext();方法而不是 hasNextLine();

标签: java indexof


【解决方案1】:

您必须利用 Java 的 split() 方法,该方法接受指定的文本字符串作为单词的分隔符/定界符,这些单词通常是逗号,例如在 .csv 文件中。我将跳过有关读取文件的部分,仅使用此字符串作为示例并将单词放入数组中:

String line = "number)street)city)state)country)";
String[] words = line.split("\\)");

请注意,在您的情况下,您必须使用双反斜杠,否则编译器会抛出错误,指出没有匹配的括号。

【讨论】:

  • 喜欢这个? String[] words = line.split(")");字符串 part1 = words[0];字符串第 2 部分 = 单词[1]; System.out.print(part1 + part2);
  • 你不能直接在")"上拆分,你需要使用("\\)"),因为它会抛出一个错误,说不匹配的右括号
猜你喜欢
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-23
  • 2023-03-19
  • 2021-03-23
相关资源
最近更新 更多