全角英数→半角英数→小文字に変換するコードの備忘録
全角英数
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
↓
全角を半角にして
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
↓
大文字を小文字にする
0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
コード.gs
function zen_han_lower() { var zen = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; var han = zen_han(zen); var lower = get_lower(han); Logger.log([zen, han, lower]); } function zen_han(zen) { var han = ""; var pattern = /[A-Za-z0-9]/; for (var i = 0; i < zen.length; i++) { if(pattern.test(zen[i])){ var letter = String.fromCharCode(zen[i].charCodeAt(0) - 65248); han += letter; }else{ han += zen[i]; } } return han; } function get_lower(han){ var lower = han.toLowerCase(); return lower; } |
意訳この機能がやること 全角英数字を用意して zen_han()に渡して半角にした結果を受け取って それをget_lower()に渡して小文字にした結果を受け取って ログに出す この機能がやること 半角の入れ物を用意して 全角英数のパターンを用意して 受け取った全角文字列の数だけ以下を繰り返す 文字が全角英数なら 半角英数に変換して hanに追加して 全角英数以外なら そのままhanに追加する 出来上がったhanを返す この機能がやること 受け取った半角英数を小文字にして 返す |
実行結果