どうも!LSSです!!
さじ(id:conasaji)さんの記事、
を読みました。
その中で、
出来れば最初にどんな系列の単語を覚えたいのかを登録できたらいいですね。英文を読み込んだらその中から毎日ひとつずつ出てくるとか。
学び舎を求め。 - ゆるっと広告業界
と書かれていましたが、この「英文から英単語抽出」、作れる自信はありましたがそういえば作った事がなかったな、と思い、今回試しに作ってみました。
英文から英単語抽出
「単語取得」ボタンを押すと、テキストエリアの文中の英単語を抽出して表示します。(並べ替え・重複削除しています)
また、テキストエリア内に別の英文を入れても動作します。
コード
<p><textarea id="txta" style="width: 100%;" rows="10">元となる英文</textarea></p>
<p><input id="btn" type="button" value="単語取得" /></p>
<div id="gamen"> </div>
<script>// <![CDATA[
tangotxt=[];//配列変数tangotxtを定義
btn.addEventListener('click',tango,false);//ボタンにイベントリスナーを設定 クリックでtango()を呼び出す
function tango(){
txt=txta.value;//変数txtにテキストエリアの内容をコピー
txt=txt.toLowerCase();//大文字を全て小文字に変換
txt=txt.replace(/[^a-z']/g,' ');//正規表現を用いて、アルファベットとアポストロフィ以外の文字を全てスペースに変換
txt=txt.replace(/ +/g,' ');//複数の連続するスペースを一つのスペースに変換
txt=txt.trim();//先頭と末尾のスペースを削除
tangotxt=txt.split(' ');//txtの内容をスペースで分割し、配列変数tangotxtに取り込む
tangotxt.sort();//配列変数tangotxtの内容をソート
tangotxt=Array.from(new Set(tangotxt));//配列変数tangotxtの内容から重複削除
gamen.innerHTML=tangotxt.toString();//配列変数tangotxtの内容を画面に書き出す
}
// ]]></script>
いつになく、コメントを多めに書いておきました。
文字列の処理、配列変数の処理を色々行っています。
Google翻訳で英文ゲット!
Google 翻訳というWebサービスで、日本語を英語に翻訳できます。
↑この左側の入力欄に、文章をコピペすると、右に翻訳結果が出てきますが、この左側にWebページのURLを入れると…
右側に、同じURLと、なんかマークが出てきます。
その右側のURLかマークをクリックすると、
こんな感じに、ページそのものが英訳されて出てきます^^(一部英訳されない部分もあります。)
英単語抽出の元となる英文を拾うのに、自分で書いた記事を英訳したものから拾ってくるのも面白いかもですねw
今回は英単語抽出してみただけですが
こうして取得した英単語のリストを、
- おみくじのようにランダムに表示
- 日付を元にした疑似乱数で表示すれば「本日の英単語」に
- タイピングゲームのネタに
-
【たんごちょう神経衰弱】作ってみたみたいなゲームのネタに
などに利用するのもいいかもですね。
ってなとこで、今回はこのへんで!
次回もまた、よろしくお願いします^^