文章の中からひらがなとカタカナを検出する
ひらがなとカタカナのパターンを用意して一致する(又はしない)テキストをアラートに出してみる
コード.gsでログに出してみる
コード.gs
function get_hira_kana(){ var str = "abcABC123abcABC123かなカナカナ仮名ひらがなカタカナカタカナ漢字"; var pattern = /[ぁ-ゟー]+|[゠-ヿ]+/g; var result = str.match(pattern); Logger.log(result); } |
意訳この処理は以下を実行する 探索対象の文字列 ひらがなまたはカタカナのパターン 一致するものを探して ログに出す |
実行結果
HTML Serviceで作ってみる
コード.gsfunction doGet(){ return HtmlService.createHtmlOutputFromFile("index"); } | 意訳この処理は以下を実行する 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html> <html> <body> <textarea id="ta"style="width:360px;height:10em;"></textarea> <br> <label><input type="checkbox" id="cb">ひらがなカタカナ以外</label> <br> <button id="bt">実行</button> <script> var bt = document.getElementById("bt"); var ta = document.getElementById("ta"); var cb = document.getElementById("cb"); bt.onclick = get_hira_kana; function get_hira_kana() { var value = ta.value; var cb_checkd = cb.checked; var result = get_result(value, cb_checkd); alert(result); } function get_result(str, flag) { var hira_kana = "[ぁ-ゟー]+|[゠-ヿ]+"; var not_hira_kana = "[^ぁ-ゟー゠-ヿ]+"; if (flag == true) { var target = not_hira_kana; }else{ var target = hira_kana; } var pattern = new RegExp(target, "g"); var result = str.match(pattern); return result; } </script> </body> </html> |
意訳テキストエリア 改行 ラベルとチェックボックス 改行 ボタン idがbtの要素を取得する idがtaの要素を取得する idがcbの要素を取得する btがクリックされたらget_joyoを実行する この機能がやること taの値を取得して チェック状態を取得して get_resultに渡す 返ってきたresultをアラートに出す この機能がやること ひらがなカタカナ ひらがなとカタカナ以外 もしflagがtrueなら targetを含まないパターンを作る falseなら targetを含むパターンを作る 正規表現オブジェクトを作り resultに一致する結果を入れて 返す |
試してみる
ひらがなとかたかなだけを取得する
文章の中からひらがなとカタカナ以外を検出する
関連記事
ひらがなを抜き出す /[ぁ-ゟー]+/g
カタカナを抜き出す /[゠-ヿ]+/g
new RegExp()を使ってパターンを作る