如何替换字符串里面的特殊字符
ABAP老白 2018-10-24 17:23
今天遇到一个奇怪问题:
两个物料号竟然是一样。因为主键只有这一列,显然这俩里面有一个里面包含了不可见字符。
于是Debug看了下:
果然有一个是李鬼,在Debug下露出来马脚,T后跟了一个UNICODE的特殊字符200B(zero width space),应该又是Excel干的好事。
那么,问题来了,如何查找或者替换这样的特殊字符呢?
如果是SAP已定义的特殊字符,比如制表符、回车换行等,可以在CL_ABAP_CHAR_UTILITIES找到,直接替换即可,如果没有预定义,则需要自己写程序了。
下面假设特殊字符制表符没有预定义为例,程序如下:
开头中的那个李鬼物料号字符串,如果要把'200B'替换掉,可以这样: