2009-03-25 3 views
0
private static String find(Scanner sc, String pattern) { 
     String Stoken; 
     while ((Stoken = sc.findInLine(pattern)) == null) { 
      if (sc.hasNextLine()) { 
       sc.nextLine();   
      } else { 
       return null; 
      } 
     } 
     return Stoken; // return string that match the pattern 
} 

私はデータを取得する必要があることを知っています - 私はパターンを持っていますが、パターンの後に必要なデータを収集したいのです - スキャナのパターンの位置を取得すればスキャナの部分文字列を取得し、必要なものを収集しますが、ポジションはプライベートです - それを知る方法はありますか?見つけた後、どのようにスキャナの位置を取得しますか?

データが異なるたびに私はそれを直接

+0

申し訳ありませんが、質問は意味をなさない...入力データのサンプルを提供し、データから抜け出すと思われるものはありますか? – TofuBeer

答えて

2

方法について

int startIndexOfMatch = sc.match().start(); 

を探すことができませんか?

コードをコードサンプルにフォーマットしてください。

+0

ありがとう、あなたは私をたくさん助けました。私はポジションを取るために独自のスキャナを書く必要があると確信していました(しかし、私はそれを必要としますが、今では*プロトタイプを書くことはできません)。どのような場合でもスキャナの位置を取得できるようにするには、 '' int position = scanner.skip( "\\ G")。match()。end(); 'を使用することをお勧めします。いくつかの 'next' /' skip'/'findInHorizo​​n'/etcがすでに呼び出されているかどうかを知る)。 – Sasha

関連する問題