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.rhkb.cn/news/297713.html

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

相关文章

DHCP实验

要求:全网IP范围为192.168.1.0/24,实现全网可达,HTTP服务器的域名为www.baidu.com,实现可以通过域名访问http 第一步、规划IP地址 按如图分别给路由器、http服务器、dns服务器、客户端配置IP地址,并且给pc设置为DHCP。…

BCLinux-for-Euler配置本地yum源

稍微吐槽一句…… 在这片土地上,国产化软件的大潮正在滚滚而来,虽然都不是真正意义上的国产化,但是至少壳是国产的~~~ 之前使用的Centos7的系统,现在都要求统一换成BCLinux-for-Euler。说实话换了之后不太适应,好多用习…

【测试篇】测试用例

文章目录 前言具体设计测试用例等价类边界值场景设计法判定表(因果图)正交排列(用的非常少)错误猜测法 前言 什么是测试用例?? 测试用例是针对软件系统或应用程序的特定功能或场景编写的一组步骤&#xf…

动态规划基础

动态规划 1、动态规划的概念 简称DP,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。 简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。然后把子问题答案保存起来,以减少重复计算…

spring boot后端controller中接收表单参数校验

校验分为两部分,一部分是前端的输入时就校验,一部分时后端接收参数时的校验。本文提到的是后端接收参数时的校验。这个后端校验的存在有什么意义呢? 比如我们设置前端在输入参数时限制输入不能为空,应该为3-20位非空字符&#xf…

Selenium的简单防反爬和浏览器配置

# Selenium的简单使用:https://zhuanlan.zhihu.com/p/557463669 # 防反爬参考:https://blog.csdn.net/weixin_51368459/article/details/125462178 from selenium import webdriver from selenium.webdriver.edge.options import Options# 设置浏览器驱动…

2024.04.04 健身打卡第 45 天

别让别人告诉你,你成不了才,如果你有梦想的话就要去捍卫它,那些一事无成的人,想告诉你你也成不了大器,如果你有理想的话,就要去努力实现。 2024.04.04 健身打卡第 45 天

ubuntu更换国内镜像源,下载增速

方法一:通过脚本更换源 1.备份原来的源 sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 将原来的源保留一下,以后想用还可以继续用 2.更换源 sudo gedit /etc/apt/sources.list 使用gedit打开文档,将下面的阿里源复制进去&am…

Prometheus+grafana环境搭建rabbitmq(docker+二进制两种方式安装)(二)

搭建完Prometheusgrafana基础环境后参见:Prometheusgrafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客,对我本地的一些常用法人服务进行一个监控。基本都可以根据官方文档完成搭建,因为docker和二进制方式安装各有优缺点。 d…

item_search-按关键字搜索淘宝商品:如何通过获取以下关键字、搜索类型、排序方式参数提升用户体验、优化营销策略、提高转化率

在淘宝购物的过程中,搜索功能无疑是用户与商品之间的重要桥梁。通过输入关键字,用户可以迅速找到所需的商品,而搜索结果的准确性和相关性则直接关系到用户的购物体验和满意度。因此,如何通过优化关键字、搜索类型和排序方式参数&a…

mbti,ESTP型人格的心理问题分析

什么是ESTP型人格 ESTP分别代表外向,实感,理智,依赖,而ESTP型人格则是一种性格上十分激进,喜欢冒险,并且总是因为情绪起伏过大,而一下子做出应激行为的相对冒险的人格。具有ESTP型人格的人一般…

『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录 注册 实名得到API链接和账密 Python3requests调用Scpay总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 注册 实名 注册巨量http 用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的 得到AP…

MySQL - 基础二

6、表的增删改查 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 6.1、Create 语法: INSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list) [, (value_list)] ...value_list: v…

PAC性能开销权衡及优化措施

PAC性能开销?如何进行优化?本博客探讨这些问题。

「精细化管理」某物业集团精细化管理咨询项目纪实

实现工作例行化、定时化、程序化与可视化企业重视绩效考核,却总感觉考核不到点上;企业重视规划职责,却总感觉部门间职责不清;企业重视激励,却总感觉难以真正激励员工。到底是哪里出了问题?华恒智信指出&…

KIl5:Stm32L071下载出现flash download faild “cortex-m0+“的解决方法

首先看看有没有芯片,没有芯片下载一下 下载并在device选择对应的芯片 选择调试器 选择flash

vulnhub----natraj靶机

文章目录 一.信息收集1.网段探测2.端口扫描3.版本服务探测4.漏扫5.目录扫描 二.漏洞利用1.分析信息2..fuzz工具 三.getshell四.提权六.nmap提权 一.信息收集 1.网段探测 因为使用的是VMware,靶机的IP地址是192.168.9.84 ┌──(root㉿kali)-[~/kali/vulnhub] └─…

Airtable、pyairtable

文章目录 一、关于 AirtableAirtable 公司历史诞生发展 产品方向产品层级国内模仿者竞争对手关于 API Key价格 二、关于 pyairtable安装快速使用 一、关于 Airtable 官网:https://www.airtable.comgithub : https://github.com/AirtableAirtable AI : h…

WWDC24定档6月 | 崩坏3将推Mac系统版 苹果AI启航 visionOS 2.0将系数登场WWDC24

这几天又有一件苹果用户圈大事发生了!WWDC24正式定档,将在6月10日-14日召开,届时一众软件系统,包括iOS18,iPadOS,WatchOS,VisionOS等等,都将迎来更新。另外就是手游崩坏3官宣&#x…

JAVA基础03-scanner,输出,循环,if的使用以及eclipse的安装

目录 scanner的使用 if语句的使用 eclipse的使用 switch语句的使用 输出方法的使用 循环语句 scanner的使用 实现用户数据的交互,用户通过终端输入数据 注意:使用Scanner需要导包 在程序开头加上:import java.util.Scanner; //由于S…