ABAP正则表达式与SPLIT INTO有什么不同

这篇文章主要介绍“ABAP正则表达式与SPLIT INTO有什么不同”,在日常操作中,相信很多人在ABAP正则表达式与SPLIT INTO有什么不同问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ABAP正则表达式与SPLIT INTO有什么不同”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

需求: 把如下通过"/"连接起来的三个字符串分别解析出来。

ABAP正则表达式与SPLIT INTO有什么不同

传统的做法见下图第98行的function module SKWF_UTIL_IO_FIND_BY_KEY:

ABAP正则表达式与SPLIT INTO有什么不同

这个function module的作用就是解析用两个/分隔开的document type: L, document class: CRM_L_ORD和document guid。

这个function module采用传统的做法,把三个key拆分并存储到一个内标里,然后READ TABLE INDEX 1,2,3的方式分别取出每个key。用了42行代码。

ABAP正则表达式与SPLIT INTO有什么不同

如果用正则表达式,只需1行代码:

ABAP正则表达式与SPLIT INTO有什么不同

而且后者比前者快3~6倍:因为FIND REGEX是在ABAP Kernel用C++实现的,比在ABAP端做要高效。参考如下的性能测试比较结果(单位:微秒)。

ABAP正则表达式与SPLIT INTO有什么不同

ABAP正则表达式与SPLIT INTO有什么不同

ABAP正则表达式与SPLIT INTO有什么不同

到此,关于“ABAP正则表达式与SPLIT INTO有什么不同”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!