 |
 |
| 閲覧数:582 |
掲示板(webの一致部分を配列に格納したい) |
 |
| 名前 |
匿名
|
| 題名 |
webの一致部分を配列に格納したい
|
質問内容
質問を評価する
(0ポイント)
|
try{ URL L01 = new URL(C00); BufferedReader L02 = new BufferedReader(new InputStreamReader(L01.openStream())); String L03; Pattern L04 = Pattern.compile(C01, Pattern.CASE_INSENSITIVE); while((L03 = L02.readLine()) != null){ Matcher L05 = L04.matcher(L03); while(L05.find()){
このL05を配列に格納したいのですが,どのようにすれば よいでしょうか.
|
| 質問日時 |
2013-10-03 10:06:57 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
数が不明なものを配列に入れたい場合、ListやSet、場合に よってはMapに格納して、最後に配列に変換する。 そもそもCollectionで問題ないならI/Fを変える。
|
| 回答日時 |
2013-10-03 11:03:17 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
listは使ってみたのですが,作られていないことになっ てしまいます.使い方がおかしいのでしょうか.
public static void main(String[] args){ List list = new ArrayList(); int L00 = 0; try{ URL L01 = new URL(C00); BufferedReader L02 = new BufferedReader(new InputStreamReader(L01.openStream())); String L03; Pattern L04 = Pattern.compile(C01, Pattern.CASE_INSENSITIVE); while((L03 = L02.readLine()) != null){ Matcher L05 = L04.matcher(L03); while(L05.find()){ for (int i = 0;i < list.size();i++){ list.add(L05.group(1)); } L00++; } System.out.println(list.get(2)); }
|
| 回答日時 |
2013-10-03 12:56:57 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
Listは生成時は空なのです。 list.add()する前にfor文のlist.size()でサイズを参照していますが、 これは上記のコードだと常に0になります。
|
| 回答日時 |
2013-10-03 13:09:30 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
whileで一致するものがある限りまわすのでそのまま list.add(L05.group(1)); にしてみたのですけど,格納されてないみたいです.
|
| 回答日時 |
2013-10-03 13:31:27 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
なんでその追加
for (int i = 0;i < list.size();i++){
で回してるのさ、という話だよ。 意味理解して書いてる?
|
| 回答日時 |
2013-10-03 13:59:53 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
すいません.そこは理解したので,その部分はアウトしま した. このwhileの間は,配列にL05.group()は追加されないので しょうか.
|
| 回答日時 |
2013-10-03 14:07:23 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
>このwhile とは?
|
| 回答日時 |
2013-10-03 14:20:08 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
説明不足でした. while(L05.find()){ list.add(L05.group(1)); L00++; }
としたということです.
|
| 回答日時 |
2013-10-03 14:23:07 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
C01の正規表現に何もマッチしないからでしょう。
|
| 回答日時 |
2013-10-03 14:59:19 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
出力すると377件あるのでマッチしていると思います. 別のアプローチのほうがいいのでしょうか.
|
| 回答日時 |
2013-10-03 15:03:06 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
まず、1ステップごとに変数が期待通りになってるか、 確認してみる。 うまくいかない原因が何なのか、きちんと理解すること。 その結果として今のアプローチでは不可能または膨大な 作業量になると判明したなら、別のアプローチを考える。
原因も分からないのに、うまく行かないというだけで 今やっていることを投げ出してはいけない。
|
| 回答日時 |
2013-10-03 18:15:42 |
|
| 名前 |
匿名
|
回答内容
回答を評価する
(0ポイント)
|
ありがとうございます.ワンステップごとに確かめてみま す.
|
| 回答日時 |
2013-10-04 15:58:48 |
|
 |
| 回答内容を入力し、「確認」ボタンをクリックしてください。 |
 |
 |
 |
|
ログインしていません。ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。
ユーザIDをお持ちでない方は「ID登録」からユーザIDの登録を行ってください。
|
|
|
|
 |
 |
|
 |
|
 |
 |