可以将字母 转换大/小 写或使用替 换规则。 要转换大/小 写,请使用 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'.

  

TRANSLATE(转换大/小写并替换字符)的更多相关文章

  1. shell入门-tr替换字符和split切割大文件

    命令:tr 说明:替换字符 格式tr ‘原字符’ ‘新字符’ 可以是范围字符,指定字符 命令:split 选项:-b 50m 1.txt  根据大小分割 单位是b不用单位,单位是兆加m -l 100 ...

  2. [Swift]LeetCode709. 转换成小写字母 | To Lower Case

    Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...

  3. Leetcode#709. To Lower Case(转换成小写字母)

    题目描述 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" ...

  4. Delphi StringReplace – 替换字符函数

    Delphi StringReplace – 替换字符函数 Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数可以替换字符串中的指定字符. 1 2 3 4 5 6 ...

  5. 【LeetCode】To Lower Case(转换成小写字母)

    这道题是LeetCode里的第709道题. 题目要求: 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: ...

  6. PHP操作字符串 截取指定长度字符 移除字符串两侧 左侧 右侧指定字符 或空白字符 替换字符

    trim() trim() 函数移除字符串两侧的空白字符或其他预定义字符. <?php $str = "Hello World!"; echo $str . "&l ...

  7. JS Replace() 全部替换字符的用法

    好久不写js了,今早遇到替换字符的,就浪费了点时间,由此,要记录下来.replace()方法:楼主有个字符串,需要替换掉其中的一些字母,如: var test='123helo123boy123hi' ...

  8. poj2305-Basic remains(进制转换 + 大整数取模)

    进制转换 + 大整数取模一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串-&g ...

  9. HDOJ/HDU 1161 Eddy's mistakes(大写字母转换成小写字母)

    Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...

随机推荐

  1. Angular 5.x 学习笔记(1) - 模板语法

    Angular 5.x Template Syntax Learn Note Angular 5.x 模板语法学习笔记 标签(空格分隔): Angular Note on github.com 上手 ...

  2. day3-基础 列表,元组,字典,模块

    1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 Country = ['China','England','America'] 通过下标访问列 ...

  3. centos6.5升级python2.7

    请看我的有道云笔记链接: http://note.youdao.com/noteshare?id=777179c98876147537288489e963b7db&sub=71D56E2269 ...

  4. ZT 自定义operator new与operator delete的使用(1)

    http://blog.csdn.net/waken_ma/article/details/4004972 先转两篇文章: 拨开自定义operator new与operator delete的迷雾 C ...

  5. 数据结构与算法分析java——散列

    1. 散列的概念 散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存 ...

  6. IOS JPush 集成步骤(极光远程推送解决方案,支持android和iOS两个平台)

    ●  什么是JPush ●  一套远程推送解决方案,支持android和iOS两个平台 ●  它能够快捷地为iOS App增加推送功能,减少集成APNs需要的工作量.开发复杂 度 ●  更多的信息,可 ...

  7. Python语言程序设计基础(1)—— 程序设计基本方法

    Everybody in this country should learn how to program a computer,because it teaches you how to think ...

  8. 【luogu P1004 方格取数】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1004 标准的DP,不明白为什么有普及+提高的难度 四维DP[i][j][k][l] 表示第一遍走到i,j格子 ...

  9. 数据库——MySQL——数据类型

    详细的看后面给的链接,我只是挑了一部分:http://www.runoob.com/mysql/mysql-data-types.html 在之前说了MySQL的存储引擎.它决定了表的类型,而表内存放 ...

  10. SpringBoot非官方教程 | 第五篇:springboot整合 beatlsql

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot5-beatlsql/ 本文出自方志朋的博客 Be ...