• TRANSLATE(转换大/小写并替换字符)


    可以将字母 转换大/小 写或使用替 换规则。 要转换大/小 写,请使用 TRANSLATE 语句,用法 如下:

    语法
    TRANSLATE <c> TO UPPER CASE. 
    TRANSLATE <c> TO LOWER CASE.

    这些语句将 字段 <c> 中的所有小 写字母转换 成大写或反 之。

    使用替换规 则时,请使 用以下语法 :

    语法

    TRANSLATE <c> USING <r>.

    该语句根据 字段 中存储的替 换规则替换 字段 的所有字符 。 包含成对字 母,其中每 对的第一个 字母用第二 个字母替换 。 可为变量。 有关包含更 复杂替换规 则的 TRANSLATE 语句的更多 变体,参见 关键字文档 。

    代码:

    DATA: T(10) VALUE 'AbCdEfGhIj',
          STRING LIKE T,
          RULE(20) VALUE 'AxbXCydYEzfZ'.
    STRING = T.
    WRITE STRING.
    TRANSLATE STRING TO UPPER CASE.
    WRITE / STRING.
    STRING = T.
    TRANSLATE STRING TO LOWER CASE.
    WRITE / STRING.
    STRING = T.
    TRANSLATE STRING USING RULE.
    WRITE / STRING.
    

      显示结果:

    AbCdEfGhIj
    
    ABCDEFGHIJ
    
    abcdefghij
    
    xXyYzZGhIj

     

    基本形式

    TRANSLATE text {TO {UPPER|LOWER} CASE}
                 | {USING pattern}.

    オプション:


    1. ... TO {UPPER|LOWER} CASE



    2. ... USING  pattern


    機能

    この命令によって、文字型データオブジェクト text の大文字/小文 字のスペルまたは単一の文字が変換されます。 CASE 命令は、大文字/小文字 の変換に使用することができます。 USING 命令は、パターンに従 って変換するのに使用できます。変数 text は、文字型であることが必要です。

    補足説明

    この命令については、 無効になった記述法が 2 つあります。

    オプション 1

    ... TO {UPPER|LOWER} CASE

    機能

    UPPER を指定すると、データオブジェクト text の小文字がす べて大文字に変換されます。 LOWER を指定すると、大文字がすべて小文字に変換されます。

    補足説明

    大文字/小文字の変換は、 テキス ト環境によって異なります 。テキスト環境の言語が処 理対象のデータの入力に使 用される言語と異なってい る場合には、障害が発生す る可能性があります。翻訳 元言語と翻訳先言語の間で の変換が定義されていない 場合は、データが損失しま す。この種の不整合を回避するため、変換前にSET LOCALE 命令を使用してテキスト環 境を適切に設定する必要があります。

    変換後の変数 text に、"CAREFUL WITH THAT AXE, EUGENE" という文言が含まれているとします。

    DATA text TYPE string.
    text = `Careful with that Axe, Eugene`.
    TRANSLATE text TO UPPER CASE.
    

      

     

    オプション 2

    ... USING  pattern

    機能

    USING を指定すると、 pattern に指定された規則に従って text の文字が変換されます。 patternは、内容が文字のペア の順序であると解釈される 文字型データオブジェクトであることが必要です。 textは、最初のペアを始め として、各ペアの最初の文 字が検索されます。そして 、検索されたそれぞれの場所は、当該ペアの 2 つ目の文字に置き換えられ ます。検索では大文字と小文字が区別されます。 pattern にあるペアの最初の文字として 1 つの文字が何回も出現する 場合は、最初のペアのみ考 慮されます。すでに置き換わっている text の文字を同じ TRANSLATE 命令で置き 換えることはできません。そのため、 pattern のペアの 2 つ目の文字 が後続のペアの最初の文字として出現する場合、2 つ目のペアは text にある元の文字にしか影響を与えません。

    データオブジェクト text および pattern における末尾の空白は、デ ータオブジェクトに対して考慮されます。 pattern に奇数の文字数の文字 が入っている場合、最後の文字が無視されます。 pattern が空白の文字列である場合は、置換が行われません。

    "A" を "B"、"a" を "b" に、またその反 対に文字を変換し、変換後、 text に "Abracadabra" という文字列が入るとします。

    DATA text TYPE string.
    text = `Barbcbdbarb`.
    TRANSLATE text USING 'ABBAabba'.
    

      

  • 相关阅读:
    字符串,列表和元组-3
    数据和表达式-2
    python3.6.2(32位)的安装-1
    HTTP协议
    bug无法重现
    当开发说不是BUG时怎么办
    Python流程分类初试
    私有,封装
    Python继承
    编译型语言和解释型语言
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10558704.html
Copyright © 2020-2023  润新知