見出し画像

GASでGoogleドキュメントのカタカナをひらがなへ一括で変換するコード

GAS(GoogleAppScript)でGoogleドキュメントのカタカナをひらがなへ一括で変換するコードについて解説します。
以下の手順でコードを書きます。


①ドキュメントの取得:
DocumentApp.getActiveDocument() により、現在開いているGoogleドキュメントにアクセスします。

②テキストの取得:
doc.getBody().getText() でドキュメントの本文全体を取得します。

③変換処理:
正規表現 /[\u30a1-\u30f6]/g を用いてカタカナを検索し、String.fromCharCode() を使用してそれぞれのカタカナを対応するひらがなに変換します。

④テキストの置き換え:
最後に、body.setText(convertedText) でドキュメントの本文を変換後のテキストに置き換えます。


var convertedText = text.replace(/[\u30a1-\u30f6]/g, function(match) {
  // カタカナの文字コードからひらがなの文字コードへ変換
  var chr = match.charCodeAt(0) - 0x60;
  return String.fromCharCode(chr);
});

文字列置換の実行:
text.replace(/[\u30a1-\u30f6]/g, function(match) {...})

この行は、text(ドキュメントのテキスト)内のすべてのカタカナを検索し、それぞれをひらがなに置換するための命令です。
/[\u30a1-\u30f6]/g は、全てのカタカナ文字にマッチする正規表現です。\u30a1 は「ァ」(カタカナの最初の文字)のUnicodeコードポイントで、\u30f6 は「ヶ」(カタカナの最後の文字)のUnicodeコードポイントです。この範囲はカタカナの全文字をカバーします。
g フラグは「グローバル検索」を意味し、テキスト全体で一致する全てのカタカナを検索します。

変換関数:
function(match) {...}

この部分は、見つかった各カタカナ文字(match)に対して実行される関数です。
match.charCodeAt(0) - 0x60 は、見つかったカタカナ文字の文字コード(Unicodeコードポイント)を取得し、そこから 0x60(96)を引くことで、対応するひらがなの文字コードに変換します。カタカナとひらがなはUnicode上で一定の距離(0x60)で配置されています。

変換結果の返却:
return String.fromCharCode(chr);

String.fromCharCode(chr) は、上記の変換によって得られたひらがなの文字コード(chr)を、実際の文字に変換します。
この関数は、それぞれのカタカナ文字を対応するひらがなに置換した結果を返します。


上記を踏まえ、全体コードは以下の通りです。

ここから先は

494字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

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