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 ``.

就搞定了...

我已經快忘了'' 和``的區別...太久不用這東西

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM