LANG SELRCT

コードを書く場所についてはこちら

2018年3月30日金曜日

全角英数を半角英数にして大文字を小文字にする


全角英数→半角英数→小文字に変換するコードの備忘録


全角英数
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を返す


この機能がやること
受け取った半角英数を小文字にして
返す



実行結果