文字ごとの項目内容の移動

以下のような 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 は変数とすることができます。

内に 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(文字列の指定位置数の移動)的更多相关文章

  1. Java 替换word文档文字,指定位置插入图片

    先说下 需要的依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ex ...

  2. css文字超出指定行数显示省略号

    display: -webkit-box; overflow: hidden; word-break: break-all; /* break-all(允许在单词内换行.) */ text-overf ...

  3. matlab中fseek 移至文件中的指定位置

    文章来源:https://ww2.mathworks.cn/help/matlab/ref/fseek.html?searchHighlight=fseek&s_tid=doc_srchtit ...

  4. 【C语言】编写函数,将一个数的指定位置置0或置1

    //编写函数,将一个数的指定位置置0或置1 #include <stdio.h> unsigned int set_bit(unsigned int num, int pos, int f ...

  5. 【转载】C#中string类使用Remove方法来移除指定位置的字符

    在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...

  6. DataTable 指定位置添加列

    dt.Columns.Add("id").SetOrdinal(指定位置);

  7. CONCATENATE命令(文字列の結合)

    CONCATENATE命令とは文字列の結合を行う命令である.文字列を扱うChar, Numeric, Dats, Time, Stringの変数で使用する事が可能だ.単純に文字列の結合のみを行う方法. ...

  8. (转载) popupWindow 指定位置上的显示

    popupWindow 指定位置上的显示 标签: androidpopupWindowpopupWindow具体位置放置 2014-07-09 16:23 1114人阅读 评论(0) 收藏 举报  分 ...

  9. jQuery 控制網頁捲軸移動 & Ignore link '#' method jump action

    $('a.gotoheader').click(function(){ // 讓捲軸移動到 0 的位置 $(); // ignore link "#" method return ...

随机推荐

  1. Angular 5.x 学习笔记(2) - 生命周期钩子 - 暂时搁浅

    Angular 5.x Lifecycle Hooks Learn Note Angular 5.x 生命周期钩子学习笔记 标签(空格分隔): Angular Note on cnblogs.com ...

  2. thinkphp5设置403 404等http状态页面

    在thinkphp5中如何抛出异常状态码(比如401,403,404等),因为这些能极大的给用户以良好的体验. 因为在上线阶段,任何的系统错误信息都不能让浏览用户给看到,比如404(Not Found ...

  3. 批量生成DDL脚本

    获取用户下所有索引脚本,用于数据迁移后重建索引: set pagesize 0set long 90000set feedback offset echo offspool get_index_ddl ...

  4. (转)每天一个linux命令(1):ls命令

    ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...

  5. 【[COCI2011-2012#5] POPLOCAVANJE】

    据说这道题卡空间? 不存在的,拿\(AC\)自动机去存\(5000\times5000\)的串肯定是要M的 我们可以考虑对长度为\(n\)的串建一个\(SAM\),这样空间就只需要两倍的\(3e5\) ...

  6. SP1811 【LCS - Longest Common Substring】

    \(SAM\)上匹配 我们就是需要找到两个串的最长公共子串 先对其中一个串建出\(SAM\),之后我们把另一个串放到上面跑 如果当前在\(SAM\)的状态是\(now\),下一个字符是\(c\),匹配 ...

  7. 2018.11.14 hibernate中的查询优化---关联级别查询

    查询优化------关联级别查询 集合策略 在Mapper映射文件中添加属性 测试数据 lazy:true 延时加载数据 fetch:select 单表查询 控制台显示输出 结论:单表查询,使用到在加 ...

  8. 简单的使用git克隆上传创建下载删除

    首先我们下载个git 官网:https://git-scm.com/ 我这里下的是64-bit windows setup 下载完成后安装: 一直下一步就好 安装完成后进行打开! 现在我们需要去官网注 ...

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

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

  10. 【题解】洛谷P1262 间谍网络 (强连通分量缩点)

    洛谷P1262:https://www.luogu.org/problemnew/show/P1262 思路 一看题目就知道是强连通分量缩点 当图中有强连通分量时 将其缩点 我们可以用dfn数组判断是 ...