見出し画像

0314:置換による整形

 司法書士試験勉強は昨日記述式入門を終えたので、次は不動産登記法の演習問題に取りかかる。

 ○×問題の取り組みについては以前に概要を記した。この時は主にエクセルでのトレーニングシート作成方法が中心だった。

 今回、以前OCRに掛けた不登法演習問題をエクセルに移す作業を行った。ここで実は一手間二手間が掛かる。何故か。

①不要な文字や行が多数含まれている → 削除したい
②OCRは見た目の改行位置に改行コードが入るので文章が細切れになる → 文章を繋げたい
③問題文、正答、解説が連続している → 問単位で横に並べたい。

 これを全て手作業でやると、とんでもなく時間がかかってしまう。なにせ1単位100問あるのだから。しかしPCならば、ある程度の自動化が可能だ。覚え書きとして、前回記事の2「整形して」を具体的に書き留めておく。

 まず、必要な問題・正答・解説の部分のみをエディタ(私は秀丸エディタを長年利用している)にコピペをする。

 ここで、まず全ての改行コードを一気に削除する。「置換」機能で正規化表現にチェックを入れ「\n」(改行コード)を「」で置換するわけだ。

 次に、「○」と「×」それぞれの前に改行コードを挿入する。「○」なら「\n○」で置換すれば良い。これによって、問の行と答え(この時点では○×正答と解説が繋がっている)の行が交互に整形できた。もちろん、前提として、正答の○×以外に本文中に○×はない(仮にあったらそこは手作業で修正になる)。

 続いてこれをそのままエクセルのB列に貼り付け、A列に行番号をつける。200までになる筈だ。次にB列でソートをかけると、正答○の固まり、正答×の固まり、問題の固まりの三つに区分できる。

 次に、問題の固まりのみをA列でソート、次に正答の固まりを(○×一緒に)A列でソートする。これにより、問題が1から100まで、正答も1から100まで順番に並ぶことになる。これで正答の固まりのB列を、問題の固まりのE列にコピペすれば、問題と答えが横に並ぶ。

 この時点ではCとDの列が空欄だ。Cには○×のみを入れるので、C列にleft関数でE列の一番左の一文字(これが○または×だ)を抜き出す。Dには○×を除く解説を入れるので、D列にreplace関数でE列の左の一文字以外を抜き出す。

 これで完成。文章だけでは分かりにくいと思うが、実際に操作してみれば簡単。

--------(以下noteの平常日記要素)

■【累積37h31m】本日の司法書士試験勉強ラーニングログ
実績42分。今日明日は家業デーなので、今日は隙間時間のみ、上記のとおり演習問題の整形。明日は問題に取り組みたいが、できるかなー。

■本日摂取したオタク成分(オタキングログ)
『アサシンズプライド』第最終話、あー面白かった。いろいろ謎を残しての引きは第二期含みと考えていいんだろうか、それともいい感じにまとめた台詞回しから一期限りと考えるべきなのか。このクオリティなら、観たいよ、続き。『荒野のコトブキ飛行隊』第1~3話、余所事しながらだったけど良い感じ。これはレトロ戦闘機の空中戦を描きたいアニメだねえ。『ドラゴン、家を買う』第4話、アザラシかわええ。『アイ★チュウ』第2話、まあ爽やかっちゃあ爽やか。

この記事が気に入ったらサポートをしてみませんか?