Daily programming #0028

言語処理100本ノック 2015の#26をやっていく。

第3章: 正規表現の前提

Wikipediaの記事を以下のフォーマットで書き出したファイルjawiki-country.json.gzがある.

1行に1記事の情報がJSON形式で格納される 各行には記事名が"title"キーに,記事本文が"text"キーの辞書オブジェクトに格納され,そのオブジェクトがJSON形式で書き出される ファイル全体はgzipで圧縮される 以下の処理を行うプログラムを作成せよ.

JSONファイルの容量が大きく、glot.ioで実行する際に非常に時間がかかるため、「イギリス」に関する記事のみのJSONファイルを使用する。

26. 強調マークアップの除去[Golang]

Question

25の処理時に,テンプレートの値からMediaWikiの強調マークアップ(弱い強調,強調,強い強調のすべて)を除去してテキストに変換せよ(参考: マークアップ早見表).

Code

100knock #26

問題にある弱い強調、強調、強い強調は「言語処理100本ノック 2015」が出た当時からリンク先のWikipediaの記事が変わっており、それぞれ他との区別(斜体)、強調(太字)、斜体と強調のことらしい(2018/06/02現在)

正規表現'{2,5}で2〜5個のをマッチさせてregex.ReplaceAllStringで削除する。