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}.
オプション:
機能
この命令によって、文字型データオブジェクト 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(转换大/小写并替换字符)的更多相关文章
- shell入门-tr替换字符和split切割大文件
命令:tr 说明:替换字符 格式tr ‘原字符’ ‘新字符’ 可以是范围字符,指定字符 命令:split 选项:-b 50m 1.txt 根据大小分割 单位是b不用单位,单位是兆加m -l 100 ...
- [Swift]LeetCode709. 转换成小写字母 | To Lower Case
Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...
- Leetcode#709. To Lower Case(转换成小写字母)
题目描述 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" ...
- Delphi StringReplace – 替换字符函数
Delphi StringReplace – 替换字符函数 Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数可以替换字符串中的指定字符. 1 2 3 4 5 6 ...
- 【LeetCode】To Lower Case(转换成小写字母)
这道题是LeetCode里的第709道题. 题目要求: 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: ...
- PHP操作字符串 截取指定长度字符 移除字符串两侧 左侧 右侧指定字符 或空白字符 替换字符
trim() trim() 函数移除字符串两侧的空白字符或其他预定义字符. <?php $str = "Hello World!"; echo $str . "&l ...
- JS Replace() 全部替换字符的用法
好久不写js了,今早遇到替换字符的,就浪费了点时间,由此,要记录下来.replace()方法:楼主有个字符串,需要替换掉其中的一些字母,如: var test='123helo123boy123hi' ...
- poj2305-Basic remains(进制转换 + 大整数取模)
进制转换 + 大整数取模一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串-&g ...
- HDOJ/HDU 1161 Eddy's mistakes(大写字母转换成小写字母)
Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...
随机推荐
- JSP简要
本篇知识导图 说起JSP,当年做课程设计什么的都用的这个,虽然技术比较古老,但是还是挺广泛使用的. JSP是一种前台的展现语言,在mvc里面属于表现层.它主要由静态,动态两部分组成,静态包括HTML, ...
- March 30 2017 Week 13 Thursday
I learned the value of hard work by working hard. 只有真的努力了,才会知道努力的价值. On the day, March 12th 2017, I ...
- 一点一点学写Makefile(2)-自动搜所当前目录下的所有源文件
上个博客我们使用的是笨方法添加源文件,本次我要实现的是遍历文件夹来获得所有的cpp文件 //makefile CROSS = CC = $(CROSS)gcc CXX = $(CROSS)g++ DE ...
- Scrum _GoodJob
作为长大的大三老腊肉,我们已经在长大生活了两年多,对于什么是长大人最想完善的校园需求.最想拥有的校园服务媒介也有了更加深切的体会. 于是,GoodJob小团队blingbling闪现啦!! GoodJ ...
- 【洛谷5288】[HNOI2019] 多边形(二叉树模型)
点此看题面 大致题意: 给你一个多边形,用若干不重合.不相交的线段将其划分为若干三角形区域,并定义旋转操作\((a,c)\)为选定\(4\)个点\(a,b,c,d\)满足\(a<b<c&l ...
- HDU 3336 KMP
题意:求每一个前缀,跟前缀相同的每个子串. 此题:网上很多都是假程序,不过也AC了,的确我测试几个案例之后的的确确是存在这个问题. 分析:每一个前缀,可以考虑KMP,f失配指针,如何求得它出现了多少次 ...
- HDU 6070 线段树
题意:求AC率,x/y 的最小值,x是区间数字的种类数,y是区间的长度. 分析: 二分答案比率.ans, 动态插入结点,一些区间的size会发生变化,是那些前面暂时没有新的结点的区间 size + 1 ...
- VOJ1067 【矩阵经典7 构造矩阵】
任意门:https://vijos.org/records/5be95b65d3d8a1366270262b 背景 守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条 ...
- 树状数组 && 线段树应用 -- 求逆序数
参考:算法学习(二)——树状数组求逆序数 .线段树或树状数组求逆序数(附例题) 应用树状数组 || 线段树求逆序数是一种很巧妙的技巧,这个技巧的关键在于如何把原来单纯的求区间和操作转换为 求小于等于a ...
- sst上传和下载码云
第一次 Team-----share---->Add----->commit-------remote----->pull 第二次 直接share开始.