Java 打印两个字符之间的所有文本

Java 打印两个字符之间的所有文本,java,indexof,Java,Indexof,我想从文本文件打印文本的特定部分。 例如: 编号)街道)城市)州)国家) 我想从)打印到),这样任何街道名称或国家都可以进入文本文件。我所做的是: 我已尝试将扫描仪连接到文件,并使用.hasNextLine()创建while循环 然后为整个文本文件创建一个字符串String line=textscanner.nextLine() 然后打印出country,例如,我将创建一个子字符串System.out.print(line.substring(25)) 但是,如果文件中有不同的街道或国家名称

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

编号)街道)城市)州)国家)

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

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

但是,如果文件中有不同的街道或国家名称,这将不起作用。如何使它能够打印从
的任何内容?

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

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

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

您能给出实际文件的两行示例吗?使用hasNext();方法而不是hasNextLine();这样地?String[]words=line.split(“)”;字符串部分1=单词[0];字符串部分2=单词[1];系统输出打印(第1部分+第2部分);您不能直接在“
上拆分,就像您需要使用“
(“\\”)”
一样,因为它会抛出一个错误,显示不匹配的右括号