文章の中からひらがなとカタカナを検出する
ひらがなとカタカナのパターンを用意して一致する(又はしない)テキストをアラートに出してみる
コード.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()を使ってパターンを作る


