0

特定のファイルで特定の単語をスキャンして変数に割り当てるのに問題があります。これまでのところ、BufferedReader ではなく Scanner を使用することにしました。テキストファイルが与えられ、この特定の部分で、各行の最初の 2 つの単語 (潜在的に無制限の行) を読み取り、それらを並べ替えの配列に追加しようとしています。これは私が持っているものです:

    File file = new File("example.txt");
    Scanner sc = new Scanner(file);

    while (sc.hasNextLine()) {
        String line = sc.nextLine();
        String[] ary = line.split(",");

かなりの距離があることはわかっていますが、コーディングは初めてで、この壁を乗り越えることができません...

入力例は次のようになります...

ExampleA ExampleAA, <other items seperated by ",">
ExampleB ExampleBB, <other items spereated by ",">
...

および提案された出力

VariableA = ExampleA ExampleAA
VariableB = ExampleB ExampleBB
...
4

3 に答える 3

2

このようなものを試すことができます

    File file = new File("D:\\test.txt");
    Scanner sc = new Scanner(file);
    List<String> list =new ArrayList<>();
    int i=0;
    while (sc.hasNextLine()) {
      list.add(sc.nextLine().split(",",2)[0]);
      i++;
    }
    char point='A';
    for(String str:list){
        System.out.println("Variable"+point+" = "+str);
        point++;
    }

私の入力:

ExampleA ExampleAA, <other items seperated by ",">
ExampleB ExampleBB, <other items spereated by ",">

出力:

VariableA = ExampleA ExampleAA
VariableB = ExampleB ExampleBB
于 2013-09-17T04:07:40.457 に答える
0

言い換えると、行の最初の 2 語 (最初のカンマの前のすべて) を読み取り、それを変数に格納してさらに処理することを考えています。

これを行うには、現在のコードは問題ないように見えますが、行のデータを取得するときに、このsubstring関数を と組み合わせて使用​​しindexOfて、カンマの前の文字列の最初の部分を取得します。後は好きな加工をすればいいだけです。

現在のコードでは、ary[0] は最初の 2 語を与えるはずです。

于 2013-09-17T03:47:50.330 に答える