0

文字列の見出しから情報を取得するための最良の方法は何でしょうか。

見出し(概要、見出し1、見出し2)のクラスメソッドとゲッターメソッドがあります。

例えば、

に等しい文字列がある場合、

This: is the first line of a String: xx-string: This is a long String

Summary:
This is the summary of the String

Heading 1:
This is the first heading

Heading 2:
This is another heading

文字列の値を設定するための望ましい方法は何でしょうか。

要約、見出し1、見出し2

Summary = This is the summary of the String
Heading 1 = This is the first heading
Heading 2 = This is another heading

ありがとう !!

編集

これが私が目指していたものです、

 public void setHeadings(Data fileData) {
        String description = fileData.getDescription();
        //String [] headings = description.split(":");

        int indexOf;
        indexOf = description.indexOf("Summary");
        if(indexOf != -1)
        {
            String subString = description.substring(indexOf);
            int indexOfNextHeading = subString.indexOf(":");
            if(indexOfNextHeading != -1)
            {
                System.out.println(indexOf + ":" + indexOfNextHeading);
                setSummary(description.substring(indexOf,indexOfNextHeading-1));
                System.out.println(description.substring(indexOf,indexOfNextHeading));
            }
        }
    } 

ただし、それは範囲外の配列例外を吐き出します。

4

1 に答える 1

1

Scannerオブジェクトを使用します。

import java.util.Scanner;

次に、それを使用して、一度に1行ずつ文字列を読み取ります。

Scanner sc = new Scanner(string);
sc.useDelimiter("\n");  // read one line at a time

これで、sc.hasNext()は読み取る行が残っているかどうかを通知し、sc.next()は次の行を返します。これを使用して、一度に1行ずつ文字列を反復処理します。各行をテストして、「Summary:」や「Heading 1:」などと等しいかどうかを確認できます。次に、StringBufferを使用して、作成する各文字列から各行を追加できます。

必要に応じてこれを書くこともできますが、かなり簡単です。

于 2012-07-11T14:42:22.513 に答える