先週のチャレンジの解答はこちらになります。
今週のチャレンジではHTMLテーブルの解析に挑戦してみましょう。いつものように、チャレンジに解答する方法はいくつかあります。正規表現を使用して解くことができるので、Advanceとしましたが、正規表現が絶対に必要なわけではありません。
入力ファイルの Description フィールド内には<td>タグで囲まれた14 個の名前と値を含む HTML テーブルがあります。
各組み合わせは <tr>tag で指定された異なる行で見つけることができます。
あなたのゴールは、14 個の名前と値の組み合わせを含むテーブルを生成することです。
*WEBの情報が更新されていたため出力ファイルを更新いたしました。
答えとあっていませんが、これでいいような気がします。
あまりきれいなワークフローになってないです。
せっかくなので誰も使わないであろうLaboratoryにあるMake Columnsツールを使おうと思って、それにあわせました。
この手の処理はどうしても「おまけ」の方が楽だったりしてしまいますね...w
ノンプログラマーの自分は、今回かなり苦戦してTokimatsuさんに教えてもらいながやったのでWorkflowは完全パクリになっています。正規表現の勉強にはなりました。HTMLの中身と回答が違いますね。
2パターン作ってみました・・・(とりあえず結果出すだけのパターンと、若干工夫したバージョンです)。
標準でHTMLのタグの中身を抜き出す機能ほしいですね・・・。
しかし、今回は結果がおかしいですね・・・。
スマートなやり方ではないですが
正規表現の問題としては結構良問だと思います。
が、HTML の構造を理解してから出ないとキレイに抽出できないので、HTML 構文を確認できるツールがあれば良いなと思いました。
(今回はCSVに吐き出してEditor でHTML 確認しました)
HTML で表示してしまったら、まぁお題としての意味は無いんですが。。
HTMLパースツール欲しい!
今回の問題のおかげで、正規表現の最短一致の"*?"の使い方が理解できたみたいです。