abap 取部分字符串如:text=“abcd”; a=text+0(6)的结果? 还有如果字符串为空,截取的结果又如何?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap 取部分字符串如:text=“abcd”; a=text+0(6)的结果? 还有如果字符串为空,截取的结果又如何?相关的知识,希望对你有一定的参考价值。

参考技术A 如果text这个字符串为空,程序运行时会报错。
所以,使用字符串截取操作时,一定要先判断字符串是不是空。
参考技术B 你这都没六个字符,你0(6)只是abcd,后面时无空格的,如果是空字符串,你在写的时候程序就无法通过~本回答被提问者采纳

ABAP 判断字符串是否是数字

通过正则表达式:

IF cl_abap_matcher=>matches(
    pattern = ^(-?[1-9]\d*(\.\d*[1-9])?)|(-?0\.\d*[1-9])$
    text = 1.01 ) = abap_true.

  WRITE 数字.
ELSE.

  WRITE 非数字.
ENDIF.
-?       :负号
[1-9]\d* :整数部分(整数第一位不为0,后面的随意)
\.\d*[1-9] :小数部分(小数点最后一位不为0,中间的随意)
0\.\d*[1-9] :0.xxxx形式的小数
 

以上是关于abap 取部分字符串如:text=“abcd”; a=text+0(6)的结果? 还有如果字符串为空,截取的结果又如何?的主要内容,如果未能解决你的问题,请参考以下文章

ABAP从较大内表取部分数据到较小内表中 怎么取 可以按字段直接取数吗?

ABAP必备基础语法

[ABAP]求助 关于READ_TEXT函数以及ALV的问题

ABAP选择屏幕字段无法输入负值

ABAP选择屏幕字段无法输入负值

取一个大文本的一部分