面向对象的方式在特定字符处分割字符串

2020-08-19 23:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿, 假设我有一个字符串 Te...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿,

假设我有一个字符串" Test#String",我想在#处将其拆分,以获取" Test"。

到目前为止,我发现的唯一方法是:

将var AT'#'拆分为var DATA(DUMMY)。

有没有一种方法(最好是面向对象)来执行此操作而没有DUMMY变量?

预先感谢

4条回答
昵称总是被占用
2020-08-19 23:59
  1. "首选面向对象"是什么意思,因为您要实现的任务是在基本代码语句级别上进行的。 OO不会自己为您实现这一目标。 将功能包装在OO类/实例方法,FM或什至是报表中由您决定。
    或者您是否希望找到已经存在的SAP标准类来提供像您这样的"简单"任务 已经? 我个人不会浪费时间来寻找类似的东西,因为您可以比在外面寻找东西并熟悉它更快地实现它,并且还必须处理内存和性能方面的开销。
  2. 如果使用SPLIT语句,它必须执行您要求的操作,这就是将一件事分解为两个或更多多带带的事物。 因此,您至少必须为该语句提供两个变量以将某物拆分为(或使用表拆分为)。 当您仍然需要拆分后创建的所有子元素时,最好使用SPLIT语句。
  3. 但是您实际上不希望"拆分",而是要"查找并替换"(请参见下面的编码)。
    而且,您也可以通过其他方式解决该问题,即" 可能也可能会更"高效",但会导致"更多"的编码(例如逐步浏览变量的位置并将其与搜索条件"#"进行比较,并在找到后将其删除以及所有其他内容)
    我认为,如果您可以在一条语句中做到这一点,我就不会想办法以另一种方式做到这一点。

因此,如果您想避免声明另一个变量而仍然拥有它 在一个语句中,可以使用replace和正则表达式,例如:

 REPLACE REGEX'#。*'in var with space。

一周热门 更多>