- 締切済み
(java)HTMLをParseさせず・・・
初めてお世話になります。 現在、HTMLをParse(解析)せずに、 BufferedReder→indexOf(抜き取りたい「文字」の出現場所を検索)→ substring(indexOfの内容を元に「文字」を抜き取る) という内容のシステムをjavaで組みたい!と試行錯誤しております;; 目的はParseと上記内容での実行時間がどれくらい違うのかという興味で作成を開始しました。 今回、BufferedReader→indeOfまでは考え通り上手くいったのですが、 substiringで1000文字以上あるHTMLソースから指定した箇所(indexOf)で抜き取る作業ができないので教えてください。(正確には○○.substring(int,int)の○○部分をどこにしていしたらいいのかわかりません。) 是非ご教授の程よろしくお願いします。 実際のコードは下記の通りです。 import java.io.*; import java.net.URL; public class Test { public static void main (String []args){ add(); } public static void add(){ try { //URLを指定して読み込み URL u = new URL("http://'"URLを入力"'/"); InputStream is = u.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is,"EUC_JP")); String line ; int linenum=1; int length=1; //1行ずつ読み込み while ((line = br.readLine()) != null) { String A = "166"; String B = "102"; int i; int j; //文字列検索(HTMLソースの0~何文字目に出現!?) i = line.indexOf(A); j = line.indexOf(B); if(i>=0){ System.out.println((i+length) + "文字目"); } if(j>=0){ System.out.println((j+length) + "文字目"); } linenum++; length += line.length() + 1; String str1 = line; String str2 = str1.substring(i+length,j+length); //当然「line」なんかにsubstringかけても駄目でしたw System.out.println(str2) ; } is.close(); br.close(); } catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } } 説明が意味不明な点もあるかと思いますので、 質問もお待ちしております。 是非、お力をお貸ししてください。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答