0

String.split()メソッドを使用して XML 要素を分割しています。XML 要素の形式は次のとおりです。

開始:23 | 停止:43 | 名前:abc def

文字列を分割した後、次のようにトリミングして割り当てようとしています。

String[] parts = oneLine.split("\\s*\\|\\s*"); // splits into 3 strings
for (int x = 0; x < parts.length; x++) {
    String tmp = parts[0];
    if (tmp.startsWith("start:")) {
        tmp = tmp.substring("start:".length());
        try {
            this.begin = Integer.parseInt(tmp);
        }
        catch (NumberFormatException nfe) {
            nfe.printStackTrace();
        }
    }
    else {
        System.err.println("Wrong format");
    }

    String tmp1 = parts[1];
    if ( tmp1.startsWith("stop:")) {
                tmp1 = tmp1.substring("stop:".length());
                try {
                    this.end = Integer.parseInt(tmp1);
                }
                catch ( NumberFormatException nfe ) {
                    nfe.printStackTrace();
                }
            }
            else {
                System.err.println("Wrong format"+tmp1);
            }
    Strint tmp2 = parts[2];
    if ( tmp2.startsWith("name:")) {
                tmp2 = tmp2.substring("name:".length());
                try {
                    this.name = tmp2;
                }
                catch ( NumberFormatException nfe ) {
                    nfe.printStackTrace();
                }
            }
            else {
                System.err.println("Wrong format"+tmp2);
            }

これはエラーを返しますWrong format。これは割り当ての問題String tmp1 = parts[0]ですか?

4

1 に答える 1

0

私の質問に答えてください。

            String[] parts= oneLine.split("\\s*\\|\\s*");
    //System.out.println(parts[0]);
    String tmp=parts[0].substring("start:".length());
    this.begin=Integer.parseInt(tmp);
    String tmp1=parts[1].substring("stop:".length());
    this.end=Integer.parseInt(tmp1);
    String tmp2=parts[2].substring("name:".length());
    this.uri=tmp2;

上記のコードスニペットは私の問題を解決します

于 2013-10-29T09:27:43.777 に答える