ABAP删除字符串某字符

我们经常会遇见这样的需求,转化字符格式。

比如12,456.78 这样的数字,我们会被要求转化为123456.78这样的

通常的做法为:

REPLACE '.'  INTO str WITH test.
CONDENSE str NO GAPS

然而给人的感觉很奇怪,明明我是用的''替换的,这里面是空的,愣是能替换出个空格来。

我还得自己再去掉空格。

探索了一番后,发现null和initial都不能写,我不仅产生了一个大胆的想法

 

DATA: test1 TYPE string VALUE '123.456'.
DATA test TYPE c.
REPLACE '.'  INTO test1 WITH test.

 

如上所示,成功的没有成功替换掉,还是会变成一个空格,然而上帝关上了一扇门我立刻踹开了一扇窗子。

DATA: test1 TYPE string VALUE '123.456'.
DATA test TYPE string.
REPLACE '.'  INTO test1 WITH test.

当当当!没想到吧,只要被替换掉的字符串是string类型而不是C类型,那么就可以啦!

 

然而经过大佬的指点

REPLACE '.'  INTO test1 WITH ``.

就搞定了...

我已经快忘了'' 和``的区别...太久不用这东西

 

转载于:https://www.cnblogs.com/yibing-jia/p/10969323.html

你可能感兴趣的:(ABAP删除字符串某字符)