ABAP SHIFT-字符串移位 和 CONDENSE去除空格

文章目录

  • SHIFT-字符串移位 和 CONDENSE去除空格
    • SHIFT BY n PLACES RIGHT/LEFT
      • 运行结果
    • SHIFT ... UP TO ...
      • 运行结果
    • 其他的-变量后面加括号和数字
    • SHIFT c LEFT/RIGHT DELETING
      • 运行结果
    • SHIFT 去除0
      • 示例程序1
      • 运行结果
      • 示例程序2
      • 运行结果
    • CONDENSE
      • 示例程序
      • 运行结果

SHIFT-字符串移位 和 CONDENSE去除空格

SHIFT BY n PLACES RIGHT/LEFT

*&---------------------------------------------------------------------*
*& Report Z_TEST_SHIFT_LHY
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_test_shift_lhy.DATA: lv_str1 TYPE string,lv_str2 TYPE string,lv_str3 TYPE string.lv_str1 = 'ABC123'.
lv_str2 = 'DEF456'.
lv_str3 = 'GHI789'.
WRITE:/'lv_str1:',lv_str1.
SHIFT lv_str1.  "向左移动一位WRITE:/'lv_str1向左移动一位:',lv_str1.
SKIP 1.WRITE:/'lv_str2:',lv_str2.  "输出BC123
SHIFT lv_str2 BY 2 PLACES RIGHT.  "向右移动两位WRITE:/'lv_str2 向右移动两位:',lv_str2. "输出:  DEF456
SKIP 1.WRITE:/'lv_str3:',lv_str3.
SHIFT lv_str3 by 3 PLACES LEFT. "向左移动三位
WRITE:/'lv_str3 向左移动三位:',lv_str3. "输出789

运行结果

在这里插入图片描述

SHIFT … UP TO …

"SHIFT c UP TO c1. 表示指定字符串c从子串c1进行位移,执行结果返回系统参数SY-SUBRC,执行成功返回0,不匹配则返回4
SHIFT lv_str4 UP TO lv_sub1.
WRITE:/'lv_str4 = ',lv_str4.
WRITE:/'SY-SUBRC',sy-subrc. "输出0SHIFT lv_str5 UP TO lv_sub2.
WRITE:/'lv_str5 = ',lv_str5.
WRITE:/'SY-SUBRC',sy-subrc. "输出4

运行结果

第一个已经移动成功,第二个没有移动成功:
在这里插入图片描述

其他的-变量后面加括号和数字

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

SHIFT c LEFT/RIGHT DELETING

  • 移除字符串c左边的子字符串c1
    SHIFT c LEFT DELETING LEADING c1.

  • 移除字符串c右边的子字符串c1
    SHIFT c RIGHT DELETING TRAILING c1.
    在这里插入图片描述

DATA: lv_s1 TYPE string,lv_s2 TYPE string,lv_su1(3) TYPE c VALUE 'ABC',lv_su2(3) TYPE c VALUE 'EFG'.
lv_s1 = 'ABCDEFG'.
SHIFT lv_s1 BY 3 PLACES RIGHT.
WRITE:/'lv_s1:' ,lv_s1."删除空格
SHIFT lv_s1 LEFT DELETING LEADING space.
WRITE:/'lv_s1:',lv_s1."删除前面的ABC
SHIFT lv_s1 LEFT DELETING LEADING lv_su1.
WRITE:/'lv_s1:',lv_s1.SHIFT lv_s1 RIGHT DELETING TRAILING lv_su2.
WRITE:/'lv_s1:',lv_s1.

运行结果

在这里插入图片描述
向右移动的时候,左侧会用空格补位

SHIFT 去除0

示例程序1

DATA: lv_s1 TYPE string,lv_s2 TYPE string,lv_su1(3) TYPE c VALUE 'ABC',lv_su2(3) TYPE c VALUE 'EFG'.
lv_s2 =  '000000012345'.
WRITE:/'原来的lv_s2:' ,lv_s2.
SHIFT lv_s2 LEFT DELETING LEADING '0'.WRITE:/'lv_s2删除前面的0之后:' ,lv_s2.

运行结果

在这里插入图片描述

示例程序2

DATA: lv_s1 TYPE string,lv_s2 TYPE string,lv_su1(3) TYPE c VALUE 'ABC',lv_su2(3) TYPE c VALUE 'EFG'.
lv_s1 = 'ABCDEFG'.
lv_s2 =  '1234500000'.WRITE:/'原来的lv_s2:' ,lv_s2.
"SHIFT lv_s2 LEFT DELETING LEADING '0'."WRITE:/'lv_s2删除前面的0之后:' ,lv_s2.
SHIFT lv_s2 RIGHT DELETING TRAILING '0'.
WRITE :/'lv_s2 删除后面的0之后:' ,lv_s2.

运行结果

如果是向右移动,去掉没用的小数位的0,向右移动,看不到0为止,左边会填充空格
在这里插入图片描述

CONDENSE

CONDENSE是可以去除空格的

示例程序

DATA: lv_s1 TYPE string,lv_s2 TYPE string,lv_su1(3) TYPE c VALUE 'ABC',lv_su2(3) TYPE c VALUE 'EFG'.
lv_s1 = 'ABCDEFG'.
lv_s2 =  '1234500000'.
WRITE:/'原来的lv_s2:' ,lv_s2.
"SHIFT lv_s2 LEFT DELETING LEADING '0'."WRITE:/'lv_s2删除前面的0之后:' ,lv_s2.
SHIFT lv_s2 RIGHT DELETING TRAILING '0'.
WRITE :/'lv_s2 删除后面的0之后:' ,lv_s2.
CONDENSE lv_s2.
WRITE :/'lv_s2 删除空格之后:' ,lv_s2.

运行结果

在删除之前是: 12345
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593264.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui框架实战案例(26):layui-carousel轮播组件添加多个Echarts图标的效果

在Layui中,使用layui-carousel轮播组件嵌套Echarts图表来实现多个图表的展示。 css层叠样式表 调整轮播图背景色为白色;调整当个Echarts图表显示loading…状态;同一个DIV轮播项目添加多个Echarts的 .layui-carousel {background-color: #f…

聚合DNS管理系统v1.0全新发布 域名解析管理系统

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、CloudFlare。本系统支持多用户&…

如何降低AI功耗? —— 超低功耗的仿生硬件

一、背景 仿生硬件(Bionic Hardware)这一术语通常指的是受自然界的生物系统启发而设计制造的电子或机械硬件设备,它们在功能、结构、材料、能源效率等方面模仿生物体的特性,以实现更高效、智能、自适应或环境友好的性能。在人工智…

逆向基础之数据类型

不同的数据在内存中的存放方式是不同的,我们说内存中每一位只存放了0和1,用来表示整数很容易 例如00000011表示3。 那怎么表示小数怎么表示文字符号呢? 因为我们知道内存里是没有小数点没有文字的。 这就需要不同的存放方式,用…

SAP HCM 多成本中心薪酬过账标准程序解读

SAP HCM薪酬过账会涉及到CO对象,CO对象主要是成本中心、WBS、内部订单、订单等,成本中心有多个维护地方0001信息类型0027信息类型等,那么成本中心多个地方维护,优先级是如何,0027>1018>0001,也就是说人身上的优先…

[计算机知识] 各种小问题思考

哈希算法以及哈希冲突 哈希算法:将任何长度的输入通过散列函数转换成固定长度的字符串 哈希冲突:不同的输入经过哈希函数处理后得到相同的哈希值 因为哈希函数的输出域是有限的 解决哈希冲突: 1. 开放寻址:产生哈希冲突后&…

scRAN-seq|加权最近邻分析(1)

概述 本文[1]介绍了Seurat 5.0.0中的加权最近邻(WNN)分析方法,这是一种用于整合和分析多模态单细胞数据的无监督框架。 简介 多模态分析作为单细胞基因组学的一个新兴领域,它通过同时测量多种数据类型来精确描绘细胞状态&#xff…

【Unity灶台】食品加工系统模型搭建

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

目标检测——车牌数据集

一、重要性及意义 交通安全与管理:车牌检测和识别技术有助于交通管理部门快速、准确地获取车辆信息,从而更有效地进行交通监控和执法。例如,在违规停车、超速行驶等交通违法行为中,该技术可以帮助交警迅速锁定违规车辆&#xff0…

Golang | Leetcode Golang题解之第10题正则表达式匹配

题目&#xff1a; 题解&#xff1a; func isMatch(s string, p string) bool {m, n : len(s), len(p)matches : func(i, j int) bool {if i 0 {return false}if p[j-1] . {return true}return s[i-1] p[j-1]}f : make([][]bool, m 1)for i : 0; i < len(f); i {f[i] m…

11.python的字典dict(下) 遍历字典,结构优化

11.python的字典dict(下) 遍历所有的键值对 items()方法是字典的一个内置方法&#xff0c;用于返回字典中所有键值对的视图&#xff08;view&#xff09;。它返回一个可迭代的对象&#xff0c;每个元素都是一个包含键和对应值的元组。 下面用一个例子来说明items()方法的用法…

RK3588 NPU 研究(二)

RK提供了两个模型&#xff0c;mobilenet和YOLO5。 mobilenet模型相对小&#xff0c;使用起来不是很明显yolo5模型大一些&#xff0c;可以对88种目标进行检测&#xff0c;提供检测的结果包括类别、包围框坐标、可信度等信息。基于rknn_yolov5_demo进行分析。 rknn_yolov5_demo基…