SHIFT(文字列の指定位置数の移動)
文字ごとの項目内容の移動
以下のような SHIFT 命令のバリアントを使用すると、項目内容を移動することができます。SHIFT を使用すると、文字ごとに項目内容が移動します。
文字列の指定位置数の移動
SHIFT c [BY n PLACES] [mode].
この命令では、項目 c の位置が n 個分だけ移動します。BY n PLACES を省略すると、n は 1 として解釈されます。n が 0 または負の値の場合、c は変更されません。n が c の長さを超えると、c は空白で埋め込まれます。n は変数とすることができます。
さまざまな mode オプションを使用して、項目 c を以下のように移動することができます。
mode を LEFT にした場合
項目内容の位置が n 個分左に移動され、項目の右端に n 個の空白が追加されます (デフォルト)。
mode を RIGHT にした場合
位置が n 個分右に移動され、項目の左端に n 個の空白が追加されます。
mode を CIRCULAR にした場合
項目内容を周期的に移動します。内容の位置が n 個分左に移動され、左側の n 個の文字が右に移動されます。
DATA: t(10) TYPE c VALUE 'abcdefghij',
string LIKE t. string = t.
WRITE string.
SHIFT string.
WRITE / string.
string = t.
SHIFT string BY 3 PLACES LEFT.
WRITE / string.
string = t.
SHIFT string BY 3 PLACES RIGHT.
WRITE / string.
string = t.
SHIFT string BY 3 PLACES CIRCULAR.
WRITE / string.
出力:
abcdefghij bcdefghij defghij abcdefg defghijabc
指定文字列への項目内容の移動
SHIFT c UP TO str mode.
この命令は、文字列 str が見つかるまで c の項目内容を検索して、項目 c を項目の端まで移動します。mode オプションは、上の記述と同じです。str は変数とすることができます。
c 内に str が見つからない場合、sy-subrc は 4 に設定され、c は移動されません。これ以外の場合は、sy-subrc は 0 に設定されます。
DATA: t(10) TYPE c VALUE 'abcdefghij',
string LIKE t,
str(2) TYPE c VALUE 'ef'. string = t.
WRITE string. SHIFT string UP TO str.
WRITE / string. STRING = t.
SHIFT string UP TO str LEFT.
WRITE / string. STRING = t.
SHIFT string UP TO str RIGHT.
WRITE / string. string = t.
SHIFT string UP TO str CIRCULAR.
WRITE / string.
出力:
abcdefghij
efghij
efghij
abcdef
efghijabcd
最初または最後の文字に応じた文字列の移動
SHIFT c LEFT DELETING LEADING str. SHIFT c RIGHT DELETING TRAILING str.
この命令によって、左側の最初の文字または右側の最後の文字が str に現れる場合、項目 c が左または右に移動されます。この場合、項目の右側または左側には空白が埋め込まれます。str は変数にすることができます。
DATA: t(14) TYPE c VALUE ' abcdefghij',
string LIKE t,
str(6) VALUE 'ghijkl'. string = t.
WRITE string. SHIFT string LEFT DELETING LEADING SPACE.
WRITE / string. string = t.
SHIFT string RIGHT DELETING TRAILING str.
WRITE / string.
出力:
abcdefghij
abcdefghij
abcdef
SHIFT(文字列の指定位置数の移動)的更多相关文章
- Java 替换word文档文字,指定位置插入图片
先说下 需要的依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ex ...
- css文字超出指定行数显示省略号
display: -webkit-box; overflow: hidden; word-break: break-all; /* break-all(允许在单词内换行.) */ text-overf ...
- matlab中fseek 移至文件中的指定位置
文章来源:https://ww2.mathworks.cn/help/matlab/ref/fseek.html?searchHighlight=fseek&s_tid=doc_srchtit ...
- 【C语言】编写函数,将一个数的指定位置置0或置1
//编写函数,将一个数的指定位置置0或置1 #include <stdio.h> unsigned int set_bit(unsigned int num, int pos, int f ...
- 【转载】C#中string类使用Remove方法来移除指定位置的字符
在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...
- DataTable 指定位置添加列
dt.Columns.Add("id").SetOrdinal(指定位置);
- CONCATENATE命令(文字列の結合)
CONCATENATE命令とは文字列の結合を行う命令である.文字列を扱うChar, Numeric, Dats, Time, Stringの変数で使用する事が可能だ.単純に文字列の結合のみを行う方法. ...
- (转载) popupWindow 指定位置上的显示
popupWindow 指定位置上的显示 标签: androidpopupWindowpopupWindow具体位置放置 2014-07-09 16:23 1114人阅读 评论(0) 收藏 举报 分 ...
- jQuery 控制網頁捲軸移動 & Ignore link '#' method jump action
$('a.gotoheader').click(function(){ // 讓捲軸移動到 0 的位置 $(); // ignore link "#" method return ...
随机推荐
- 推荐一个很好用的脚本session snapper
源网址http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper 内容: If you want to just download Sn ...
- Oracle 查看session级别信息
1. 查看活动会话信息[sql] view plain copySELECT * FROM V$SESSION WHERE USERNAME IS NOT NULL AND STAT ...
- 常用的shell语句 【awk】去重,排列
目的:从日志access.log中,筛选出IP来,并统计每个IP出现的次数,然后显示出来. 因为:awk = 扒IP shot = 排序 uniq = 去重 所以:awk '{print $1} ...
- 在Oracle中查看客户端连接的IP信息 .
大家都知道在v$session 中记录着客户端的机器名称,但是没有IP , 如果记录clinet ip 呢? con sys/sys as dba 1. 利用triger 这里不介绍. 2. 利用 D ...
- oozie coordinator 定时调度
(本段内容摘自http://blog.sina.com.cn/s/blog_e699b42b0102xjqw.html Oozie总结 行成于思的博客) Oozie提出了Coordin ...
- PHP Swoole 基于纯真IP库根据IP匹配城市
把纯真IP库读到内存,纯真IP库本来就是有序的,然后每次请求二分查找就行,44WIP查找十几次就搞定了 dispatch_mode最好写3,不然做服务的时候,会导致进程任务分配不均匀. max_req ...
- Android(java)学习笔记23:finally关键字的作用
1. finally 关键字的作用 package cn.itcast_07; import java.text.ParseException; import java.text.SimpleDate ...
- POJ 最小球覆盖 模拟退火
最小球覆盖:用半径最小的球去覆盖所有点. 纯粹的退火算法,是搞不定的,精度不够,不然就会TLE,根本跑不出答案来. 任取一点为球心,然后一点点靠近最远点.其实这才是最主要的. 因为:4个点确定一个球, ...
- 【洛谷P2168】[NOI2015]荷马史诗
荷马史诗 建一个k叉哈夫曼树,用堆维护一下 // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #inc ...
- python序列化_json,pickle,shelve模块
序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把内存数据 转成字符,叫序列化 把字符 转成内存数据,叫反序列化 模块 ...