SPLIT(文字列の分割)
概要
SPLIT命令は特定の文字で値を分割する命令だ。
タブ区切りや、カンマ区切り等のファイルからデータを取得し
値を各項目に振り分けたい時に使用する事が多いだろう。
また、XMLファイル等を使用してインターフェースする仕組みをもっている場合等にも使用するだろう。
サンプルコード:カンマ区切り
DATA: V_CHAR(15) TYPE C,
V_COL1(5) TYPE C,
V_COL2(5) TYPE C,
V_COL3(5) TYPE C. V_CHAR = 'ABC;DEF;GHI'.
SPLIT V_CHAR AT ';' INTO V_COL1 V_COL2 V_COL3.
説明
当例ではSPLIT命令を使用する事で値’ABC;DEF;GHI’をそれぞれ変数:V_COL1、V_COL2、V_COL3に値を代入する事が可能だ。
V_COL1には’ABC’、V_COL2には’DEF’、V_COL3には’GHI’が代入され、区切り文字に使用された;(セミコロン)は除去される。
サンプルコード:複数の区切り文字
DATA: V_CHAR(15) TYPE C,
V_COL1(15) TYPE C,
V_COL2(15) TYPE C,
V_COL3(15) TYPE C. V_CHAR = 'ABC;DEF,GHI'.
SPLIT V_CHAR AT ';' INTO V_COL1 V_COL2.
* V_COL1 = ABC V_COL2 = DEF,GHI SPLIT V_COL2 AT ',' INTO V_COL2 V_COL3.
* V_COL2 = DEF V_COL3 = GHI
説明
当例では複数の区切り文字を使用している為、一度にSPLIT命令を使用して取得できないケースを説明しよう。
値は’ABC;DEF,GHI’のように;(セミコロン)と,(カンマ)で区切りたい為、最初の例のようにまとめて行う事ができない。
このような場合は、手間だが一つずつ区切る事をお勧めする。
まずは、;(セミコロン)で区切る事により、V_COL1に’ABC’を代入する事ができる。この時V_COL2には残りの値が’DEF,GHI’
が残るので、もう一度同じように,(カンマ)で区切る。そうするとV_COL2には’DEF’、そしてV_COL3には’GHI’が代入される事になるだろう。
SPLIT(文字列の分割)的更多相关文章
- Python + opencv 实现图片文字的分割
实现步骤: 1.通过水平投影对图形进行水平分割,获取每一行的图像: 2.通过垂直投影对分割的每一行图像进行垂直分割,最终确定每一个字符的坐标位置,分割出每一个字符: 先简单介绍一下投影法:分别在水平和 ...
- SHIFT(文字列の指定位置数の移動)
文字ごとの項目内容の移動 以下のような SHIFT 命令のバリアントを使用すると.項目内容を移動することができます.SHIFT を使用すると.文字ごとに項目内容が移動します. 文字列の指定位置数の移動 ...
- CONCATENATE命令(文字列の結合)
CONCATENATE命令とは文字列の結合を行う命令である.文字列を扱うChar, Numeric, Dats, Time, Stringの変数で使用する事が可能だ.単純に文字列の結合のみを行う方法. ...
- CONDENSE命令により、文字列から冗長スペースが削除
CONDENSE 命令により.文字列から冗長スペースが削除されます. CONDENSE c [NO-GAPS]. この命令により.項目 c に先行空白が含まれる場合は削除され.その他の空白列がある場合 ...
- OLED液晶屏幕(3)串口读取文字并分割
https://blog.csdn.net/iracer/article/details/50334041 String comdata = ""; void setup() { ...
- split 将字符串分割成字符串数组
list_name = list_name.split(","); split() 方法用于把一个字符串分割成字符串数组. 语法 stringObject.split(separa ...
- Linux中split大文件分割和cat合并文件
当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输.这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件. 1.分割 ...
- java split进行字符串分割
在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,Str ...
- 模拟java的split函数,分割字符串,类似于java的split方法
/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合类型*/create or replace type splitType as table of varchar2(40 ...
随机推荐
- 小组Scrum第一次冲刺
团队任务描述: 在确定完分组,并对于敏捷开发做了相应的了解之后,我们团队开始了第一次的冲刺.对于我们团队的第一次的 Scrum冲刺,我们团队开展了团队会议.首先,我们明确了我们的目标,对其进行了相对初 ...
- 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
这周Jerry在SAP上海研究院参加了一个为期4天的Kubernetes培训,度过了忙碌而又充实的4天.Jason,Benny和Peng三位大神的培训干货满满,借此机会,Jerry和过去的两位老领导P ...
- python入门17 类和对象
类:一类事物的抽象化.概念: 类的变量(属于类的变量,定义在类的开始处) 成员变量(self.变量) 类的方法( @classmethod,cls参数) 成员方法( self参数 ) 静态方法 ...
- Android进阶笔记12:ListView篇之图片优化
1.图片异步加载: (1)处理图片的方式: 如果ListView中自定义的Item中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是 ListView 项中最头疼的,处理图片的方法大 ...
- Codeforces Round #429
Table of Contents A. Generous KefaB. GodsendC. Leha and Function A. Generous Kefa One day Kefa found ...
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 【分块】
任意门:https://www.lydsy.com/JudgeOnline/problem.php?id=2002 2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 ...
- Photoshop 画布的渐变填充
之前丢掉的要开始慢慢的捡起来,因为学如逆水行舟,不进则退.古人诚不欺我等. 1.新建图层,或者就在当前图层进行操作,选择图层 2.工具箱---1渐变工具---2径向渐变---模式--正常.不透明100 ...
- [转]关于VC++ MFC中的空闲Idle处理机制!
关键词: 先根据空闲标志以及消息队列是否为空这两个条件判断当前线程是否处于空闲状态(这个“空闲”的含义同操作系统的含义不同,是MFC自己所谓的“空闲”),如果是,就调用CWinThread::OnId ...
- 【洛谷P2184】贪婪大陆
贪婪大陆 题目链接 对于一个区间[l,r],右端点在l左边即[1,l-1]中的区间与区间[l,r]没有交集, 左端点在r右边即[r,n]中的区间与区间[l,r]没有交集, 其余区间必与[l,r]有交集 ...
- 【题解】洛谷P2607【ZJOI2008】骑士
洛谷P2607:https://www.luogu.org/problemnew/show/P2607 一道毒瘤的环基树问题 第一次做环基树的题目 刚看题目的时候觉得不就是跟没有上司的舞会一样嘛 然后 ...