概要

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(文字列の分割)的更多相关文章

  1. Python + opencv 实现图片文字的分割

    实现步骤: 1.通过水平投影对图形进行水平分割,获取每一行的图像: 2.通过垂直投影对分割的每一行图像进行垂直分割,最终确定每一个字符的坐标位置,分割出每一个字符: 先简单介绍一下投影法:分别在水平和 ...

  2. SHIFT(文字列の指定位置数の移動)

    文字ごとの項目内容の移動 以下のような SHIFT 命令のバリアントを使用すると.項目内容を移動することができます.SHIFT を使用すると.文字ごとに項目内容が移動します. 文字列の指定位置数の移動 ...

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

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

  4. CONDENSE命令により、文字列から冗長スペースが削除

    CONDENSE 命令により.文字列から冗長スペースが削除されます. CONDENSE c [NO-GAPS]. この命令により.項目 c に先行空白が含まれる場合は削除され.その他の空白列がある場合 ...

  5. OLED液晶屏幕(3)串口读取文字并分割

    https://blog.csdn.net/iracer/article/details/50334041 String comdata = ""; void setup() { ...

  6. split 将字符串分割成字符串数组

    list_name = list_name.split(","); split() 方法用于把一个字符串分割成字符串数组. 语法 stringObject.split(separa ...

  7. Linux中split大文件分割和cat合并文件

    当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输.这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件. 1.分割 ...

  8. java split进行字符串分割

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,Str ...

  9. 模拟java的split函数,分割字符串,类似于java的split方法

    /*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合类型*/create or replace type splitType as table of varchar2(40 ...

随机推荐

  1. 初涉node.js做微信测试公众号一路填坑顺便发现个有趣的其他漏洞

    [微信测试公众号] 半年前耍着玩搭起来的“微信简历”,是LAMP版的,很皮毛. 微信的官方文档在这 http://mp.weixin.qq.com/wiki/index.php 1.获取access ...

  2. js alert 封装 layui

    方式一: var aaa = function(){ function _alert(aa){ layer.msg(aa, { time: 2000, //2s后自动关闭 alert("最高 ...

  3. Template Pattern & Strategy Pattern

    详细见<C++设计模式 23种设计模式.pdf 55页> 在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算 ...

  4. Android(java)学习笔记18:单例模式

    单例模式代码示例: 1. 单例模式之饿汉式: package cn.itcast_03; public class Student { // 构造私有 private Student() { } // ...

  5. POJ 3088 斯特林

    题意:有一个n个按钮的锁,按下一些按钮打开门,有多少开门方式,其中,一些按钮可以选,可以不选,选中的按钮 可以分成一些集合,集合之间无序,是同时按下的. 分析: 1.首先选择 i 个按钮,组合数 2. ...

  6. nbu集群Alwayson相关问题

    Alwayson 1. Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集愈依赖 ...

  7. 【转】Android listview与adapter用法

    一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常 ...

  8. 【luogu P3178 [HAOI2015]树上操作】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3178 模板题 菜 #include <cstdio> #include <cstring& ...

  9. 【luogu P3371 单源最短路径 】 模板 SPFA优化

    无优化:500ms deque优化:400ms #include <queue> #include <cstdio> #include <cstring> #inc ...

  10. python-time、datetimme模块

    time模块 1.time.time():返回当前时间的时间戳. 打印时间戳: >>> import time >>> time.time() 1530329387 ...