替换itab所有行中的字符串?

Replace the string in all lines of itab?

我正在尝试在 SAP ABAP 中创建一种算法,以从某些字段中删除 IBAN 一词。例如,在下面的照片中,我们有 KNBK-Bankschlüssel=7415000KNBK-Bankkontonummer= <IBAN 000000000008。我正在尝试从该字段中删除 IBAN,以便 table.

中仅显示 000000000008

是否有任何字符串操作可以让我检查字段是否具有关键字 IBAN 并将其删除?

提前谢谢大家!

您可以使用 REPLACE 语句来完成:

IF word CS 'IBAN'.                    "to check if the string contains IBAN (as substring)
  REPLACE 'IBAN' WITH '' INTO word.   "This will remove the substring IBAB, but it will be replaced with a space
  CONDENSE word NO-GAPS.              "This will remove the space (and other spaces as well, if there is any in the string)
ENDIF.

查看屏幕截图,该字段包含“”(而不仅仅是 'IBAN'),因此您必须相应地修改代码。

另一种可能是REPLACE IN TABLE:

REPLACE ALL OCCURRENCES OF REGEX '^.*IBAN>'
 IN TABLE itab WITH ''
 RESPECTING CASE.

此代码段将删除所有行中包含所有前面字符的所有 <IBAN>