0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 計算式プラグイン カナ小文字を大文字に変換

Last updated at Posted at 2024-09-18

計算式プラグインで、カナ小文字を大文字に変換します。

概要

計算式プラグインで、小文字のカナを大文字に変換してみます。
アルファベットの upper 関数のように、簡単に変換できる関数が無く、小文字のカナを1文字ずつ大文字に変換します。

変換前
"ァAィBゥCェDォEャFュGョHッIヮJァAィBゥ"

変換後
"アAイBウCエDオEヤFユGヨHツIワJアAイBウ"

変換例: 
2024-09-18_13h44_23.png

計算式

処理の流れ
low 配列にある小文字のカタカナを一つずつ、対応する upper 配列の大文字カタカナに置き換えます。
すべての置換が終わると、最終的な文字列(大文字に変換されたもの)が出力されます。

  • str: 元の文字列。例に出ているのは「ァAィBゥCェDォEャFュGョHッIヮJァAィBゥ」
  • low: 小文字のカタカナ配列
    小文字のカタカナが定義されています(「ァ」、「ィ」、「ゥ」など)
  • upper: 対応する大文字のカタカナ配列。これが変換先
  • ARRAY_MAP: low の配列(小文字カタカナ)を繰り返し処理
    • x: 配列内の現在の要素(小文字のカタカナ)
    • idx: 現在のインデックス(配列内の位置)
    • FSET: str の中の x(小文字)を upper 配列の対応する要素(idx を使って)で置換
  • str: 最終的に変換された str が返されます
.js
LET(str,"ァAィBゥCェDォEャFュGョHッIヮJァAィBゥ",
  low,ARRAY("","","","","","","","","",""),
  upper,ARRAY("","","","","","","","","",""),
  dummy,ARRAY_MAP(low,x,idx,
    FSET(str,REPLACEALL(str,x,ARRAY_GET(upper,idx)))
  ),
  str
)

または、ARRAY の代わりに SPLIT で記述

.js
LET(str,"ァAィBゥCェDォEャFュGョHッIヮJァAィBゥ",
  low,SPLIT("ァィゥェォャュョッヮ",""),
  upper,SPLIT("アイウエオヤユヨツワ",""),
  dummy,ARRAY_MAP(low,x,idx,
    FSET(str,REPLACEALL(str,x,ARRAY_GET(upper,idx)))
  ),
  str
)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?