`

ABAP学习笔记--处理字符串

阅读更多

一、移动字段内容

1、按给定位置数移动字符串

语法:SHIFT <c> [BY <n> PLACES] [<mode>].将字段<c>移动<n>个位置,如果省略BY <n> PLACES,则将<n>解释为一个位置;如果<n>是0或负数,则<c>保持不变;如果<n>超过<c>长度,则<c>用空格填充。<n>可为变量。

<mode>可以为:LEFT 向左移动<n>个位置,右边用<n>个空格填充;RIGHT 向右移动<n>个位置,左边用<n>个空格填充;CIRCULAR 向左移动<n>个位置,以便左边<n>个字符出现在右边。

2、移动字段串到给定串

语法:SHIFT <c> UP TO <str> <mode>.查找<c>字段内容直到找到字段串<str>并将字段<c>移动到字段边缘,<str>可为变量。如果<c>中找不到<str>,则将SY-SUBRC设置为4并且不移动<c>,否则将SY-SUBRC设置为0。<mode>内容同上。

3、根据第一个或最后一个字符移动字段串

语法:SHIFT <c> LEFT DELETING LEADING <str>.

SHIFT <c> RIGHT DELETING TRAILING <str>.假设左边的第一个字符或右边的最后一个字符出现在<str>中,将字段<c>向左或向右移动,字段右边或左边用空格填充,<str>可为变量。

二、替换字段内容

语法:REPLACE <str1> WITH <str2> INTO <c> [LENGHT <l>].搜索字段<c>中模式<str1>前<l>个位置第一次出现的地方,如果未指定长度,则按全长度搜索模式<str1>;然后,将模式<str1>在字段<c>中第一次出现的位置用字符串<str2>替换,如果指定长度<l>,则只替换模式的相关部分。如果将系统字段SY-SUBRC的返回代码设置为0,则说明在字段<c>中找到模式<str1>并已用<str2>替换,非0的返回代码值则未替换。<str1>、<str2>、<l>可为变量。

三、转换大/小写并替换字符

语法:TRANSLATE <c> TO UPPER CASE.将字段<c>中的所有小写字母替换为大写。

TRANSLATE <c> TO LOWER CASE.将字段<c>中的所有大写字母替换为小写。

TRANSLATE <c> USING <r>.根据字段<r>中存储的替换规则替换字段<c>的所有字符,其中每对的第一个字母用第二个字母替换。

四、覆盖字符字段

语法:OVERLAY <c1> WITH <c2> [ONLY <str>].用<c2>的内容覆盖字段<c1>中包含<str>中字母的所有位置。<c2>保持不变,如果省略了ONLY <str>,则覆盖字段<c1>中所有包含空格的位置。如果至少要替换<c1>中的一个字符,则将SY-SUBRC设置为0,对于所有其它情况,将SY-SUBRC设置为4;如果<c1>比<c2>长,则只覆盖<c2>中的长度。

五、搜索字符字段

语法:SEARCH <c> FOR <str> <options>.在字段<c>中搜索<str>中的字符串,如果成功,则将SY-SUBRC的返回代码值设置为0并将SY-FDPOS设置为字段<c>中该字符串的偏移量,否则将SY-SUBRC设置为4。

搜索串 <str> 可为下列格 式之一:

<str> 目的
<pattern> 搜索<pattern>(任何字符顺序。忽略尾部空格。
.<pattern>. 搜索<pattern>,但是不忽略尾部空格。
*<pattern> 搜索以<pattern>结尾的词。
<pattern>* 搜索以<pattern>开始的词。

<options>可以为以下值:

ABBREVIATED 在字段 <c> 中搜索包含 <str> 中指定字符串的单词,其中字符可能被其它字符隔开。单词和字符串的第一个字母必须相同 。

STARTING AT <n1> 在字段 <c> 中搜索从 <n1> 开始的 <str> 。结果 SY-FDPOS 参照相对于 <n1> 的偏移量而不是字段的开始。

ENDING AT <n2> 在字段 <c> 搜索 <str> 直到位置 <n2>。

AND MARK 如果找到搜索串,则将搜索串中的所有字符(和使用 ABBREVIATED 时的所有字 符)转换为大写形式。

六、压缩字符字段

语法:CONDENSE <c> [NO-GAPS].去除字段<c>中的前导空格并用一个空格替换其它空格序列,结果是左对齐单词,每个单词用空格隔开。如果指定附加的NO-GAPS,则去除所有空格。注意:字段<c>的总长度不变,被删的空格再次出现在右边。

七、获得字符串长度

语法:<n> = STRLEN( <c> ).决定字符串<c>到最后一个字符而不是SPACE的长度。

八、连接字符字段

语法:CONCATENATE <c1> .... <cn> INTO <c> [SEPARATED BY <s>].连接字符串<c1>与<cn>,并将结果赋给<c>。忽略尾部空格。附加SEPARATED BY <s> 允许指定字符字段<s>,它放置在单个字段间已定义的长度中。如果结果符合<c>,则将SY-SUBRC设置为0,如果结果必须被截断,则将SY-SUBRC设置为4。

九、拆分字符字段

语法:SPLIT <c> AT <del> INTO <c1> ... <cn>.在字符字段<c>中搜索分界字符串<del>,并将分界符之前和之后的部分放到目标字段<c1> ... <cn>中。要将所有部分放到不同目标字段中,必须指定足够目标字段。否则,用字段 <c> 的剩余部分填充最后目标字段并包含分界符。如果所有目标字段足够长且不必截 断任何部分,则将 SY-SUBRC 设置为0。否则,将其设置为4。

SPLIT <c> AT <del> INTO <itab>.将组成原始串的部分放到内表中.

十、分配字符串部分

语法:MOVE <c1> TO <c2> PERCENTAGE <p> [RIGHT].将左对齐的字符字段<c1>的百分比<p>(或如果用RIGHT选项指定,则为右对齐)复制到<c2>。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wenchang4you/archive/2009/07/29/4390048.aspx
分享到:
评论

相关推荐

    ABAP-学习笔记-通用

    ABAP-学习笔记-通用

    ABAP 个人笔记-我的SAP学习

    ABAP 个人笔记-我的SAP学习 本资源是关于 ABAP 的一些小心得,涵盖了 ABAP 工作平台的中心入口 Object Navigator、常用 T-CODE、ABAP Editor 的使用、处理块类型、应用程序类型、语句链、数据内部定义、结构体赋值...

    ABAP常用字符串操作

    ### ABAP常用字符串操作知识点详解 #### 一、字符串连接 在ABAP中,字符串连接是一种常见的操作方式,用于将两个或多个字符串合并成一个新的字符串。实现字符串连接的方法主要是通过`CONCATENATE`语句。 **语法...

    ABAP751 ABAP - Keyword Documentation

    ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...

    SAP ABAP 常用T-CODE

    ### SAP ABAP 常用T-CODE 在SAP系统中,T-CODE(Transaction Code)是用户执行特定操作时使用的代码。这些代码能够直接引导用户到预定义的业务功能或工具,对于SAP ABAP开发人员而言,熟练掌握一系列关键的T-CODE尤...

    《ABAP开发要点---PP模块》

    ### ABAP开发要点——PP模块 ...综上所述,ABAP开发中PP模块的要点涵盖了多个方面,包括但不限于报表开发、数据库表使用以及特定业务场景下的处理策略。掌握这些核心知识点对于提升开发效率和质量具有重要意义。

    eclipse-abap-keywordcolors-master.rar

    eclipse-abap-keywordcolors eclipse-abap-关键字颜色

    CD260-ABAP-in-Eclipse-开发-CN

    CD260-ABAP-in-Eclipse-开发-CN CD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CN

    ABAP开发笔记-用户出口

    在ABAP开发中,用户出口(User Exit)是一种允许开发者扩展标准SAP系统功能的关键机制。用户出口是在标准SAP程序中预定义的点,开发者可以通过编写自定义代码来干预这些点,以满足特定的业务需求。以下是关于用户...

    ABAP字符串SQL Functions语法总结

    ABAP是一种专为SAP系统设计的编程语言,而在ABAP中处理字符串时,SQL Functions提供了许多方便的方法。本文将对ABAP SQL Functions for Strings进行详细的语法总结。 首先,我们来讨论一下如何在ABAP SQL中跨Client...

    绝版的从实例到精通abap 学习--ALV控件的使用

    本教程“绝版的从实例到精通ABAP学习--ALV控件的使用”深入浅出地讲解了如何有效地利用ALV控件进行数据展示和处理,尤其适合初学者入门。 首先,`reuse_alv_list_display`是ABAP标准库中的一个函数模块,用于快速、...

    ABAP-数据类型学习笔记

    ABAP-数据类型学习笔记

    -----ABAP FAQs--------------------------------------------

    -----ABAP FAQs--------------------------------------------

    ABAP官方教程--- BC400_EN_Col32

    在SAP应用开发中,ABAP语言扮演着核心角色,为SAP系统的各种业务处理提供编程支持。 3. 教程相关信息:文档中提到了一些其他相关信息,如日期、培训中心、讲师、教育网站以及参与者手册。这些信息对于了解和参与SAP...

    SAP-ABAP-Certification-Review.pdf

    SAP-ABAP-Certification-Review.pdf

    ABAP源代码-初学者参考 abap source codes.rar

    ABAP(Advanced Business Application Programming)是...通过学习这些源代码,初学者将能够逐步掌握ABAP的基本语法、数据处理、数据库操作、GUI编程和面向对象编程等核心概念,为进一步深入ABAP开发打下坚实的基础。

    ABAP学习笔记

    ### ABAP学习笔记知识点解析 #### 一、Client的复制方法 - **步骤一**: 使用`sap*`用户登录到已存在的客户端(例如:000),通过事务代码`SCC4`或菜单路径(Tools &gt; Administration &gt; Administration &gt; Client ...

    web-dynpro-abap-ui-element-tree_Ch01_CV_Introduction_

    总结来说,“web-dynpro-abap-ui-element-tree”涵盖了Web Dynpro ABAP中创建和管理树形UI元素的核心概念和技术,包括UI元素定义、数据绑定、用户交互处理和测试。通过深入学习这一章节,开发者将能够构建出更加灵活...

    SAP ABAP 实例13-19章-2

    SAP ABAP 实例13-19章-2,由于太大,只能分两个文件传

    ABAP经典教学-PPT

    在ABAP的学习过程中,首先会接触到的是语法基础。ABAP的语法结构类似于Pascal和C,包含声明、控制流语句、循环、条件判断等元素。例如,声明变量时,你可以使用DATA关键字,如`DATA: my_variable TYPE i.`这里的'i'...

Global site tag (gtag.js) - Google Analytics