Top/マニュアル/関数/TRANSLATE
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | 履歴 | 凍結 ]

TRANSLATE

形式

TRANSLATE( text , format_from , format_to )

機能

  • 文字列の 1文字対1文字 の高速置換を行います。
  • Perlのオプションなしtr///相当の機能です。

引数

text
置換対象文字列。
format_from
置き換え前文字リスト。書式について参照。
format_to
置き換え後文字リスト。書式について参照。空文字列にすると削除。

書式について

  • 単純に文字を列挙すると、1対1で置き換えます。置き換え前リストに含まれない文字はそのまま無視されます。
    • TRANSLATE('ぬるぽガッ','ぽガ','りゴ') -> ぬるりゴッ
    • TRANSLATE('あああいいいううう','あい','おえ') -> おおおえええううう
  • 間に "-" を挟むと、指定した文字コード範囲で一括置換処理をします。
    • TRANSLATE('123456789','1-9','①-⑨') -> ①②③④⑤⑥⑦⑧⑨
    • 使用する文字コードはUCS-2(Unicode)なので、IMEの文字パレットをUnicodeモードに切り替えて確認してみてください。
  • "-"自体を書きたい場合は、"\-"と書いてください。また、"\"自体を書きたい場合は、"\\"と書いてください。
    • TRANSLATE('\-\-\-','\\','\-') -> ------
  • 第3引数を空文字列にすると削除操作になります。
    • TRANSLATE('46cm三連装砲','0-9a-z','') -> 三連装砲

返り値

  • 成功した場合、置換後の文字列
  • 失敗した場合、-1。

関連

バージョン

  • Tc546-1
    • Tc546-2でエスケープシーケンス追加
    • Tc547-1で削除処理追加

以下のスクリプトを書くと、ひらがなをカタカナ、カタカナをひらがなに変換できます。

_wokyu = TRANSLATE('ティータイムは大事にしないとネー','ぁ-ゖァ-ヶ','ァ-ヶぁ-ゖ')

//_wokyu の中身 = てぃーたいむハ大事ニシナイトねー
//Unicode表でカタカナとひらがなの重なる範囲「ァ-ヶ」を指定しています
//Shift JISで辞書を書いている場合、「ゖ」は化けるので、とりあえず以下のように。

_wokyu = TRANSLATE('ティータイムは大事にしないとネー','ぁ-んァ-ン','ァ-ンぁ-ん')