Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

【JavaScript】英文から英単語を抽出してみる

 どうも!LSSです!!

 

さじ(id:conasaji)さんの記事、

conasaji.hatenablog.com

を読みました。

 

その中で、

出来れば最初にどんな系列の単語を覚えたいのかを登録できたらいいですね。英文を読み込んだらその中から毎日ひとつずつ出てくるとか。

学び舎を求め。 - ゆるっと広告業界

 と書かれていましたが、この「英文から英単語抽出」、作れる自信はありましたがそういえば作った事がなかったな、と思い、今回試しに作ってみました。

 

 

f:id:little_strange:20210404234529p:plain

英文から英単語抽出

 

「単語取得」ボタンを押すと、テキストエリアの文中の英単語を抽出して表示します。(並べ替え・重複削除しています)

また、テキストエリア内に別の英文を入れても動作します。 

 

 

コード

<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サービスで、日本語を英語に翻訳できます。

f:id:little_strange:20210404233336p:plain

↑この左側の入力欄に、文章をコピペすると、右に翻訳結果が出てきますが、この左側にWebページのURLを入れると…

f:id:little_strange:20210404233450p:plain

右側に、同じURLと、なんかマークが出てきます。

その右側のURLかマークをクリックすると、

f:id:little_strange:20210404233701p:plain

こんな感じに、ページそのものが英訳されて出てきます^^(一部英訳されない部分もあります。)

 

英単語抽出の元となる英文を拾うのに、自分で書いた記事を英訳したものから拾ってくるのも面白いかもですねw

 

 

今回は英単語抽出してみただけですが

こうして取得した英単語のリストを、

などに利用するのもいいかもですね。

 

 

 

ってなとこで、今回はこのへんで!

次回もまた、よろしくお願いします^^