考虑到在使用IXML组件解析XML文件时,有可能存在XML文本中含有多个连续空格的情况,这时需要将多个连续的空格替换为单个空格。
可以通过正则表达式来实现该功能,使用正则表达式中的\s+匹配多个连续的空格,并将其替换为单个空格。
示例代码如下:
DATA: lv_input TYPE string VALUE 'Hello World!'.
DATA(lo_ixml) = cl_ixml=>create( ).
DATA(lo_text_node) = lo_ixml->create_text_node( lv_input ).
lo_text_node->normalize( ).
DATA(lv_output) = lo_text_node->get_node_value( ).
" Replace multiple spaces with single space DATA(lv_normalized) = |{ lv_output ALPHA=IN }|.
lv_normalized = |{ REPLACE ALL OCCURRENCES OF REGEX '\s+' IN lv_normalized WITH ' ' }|.
WRITE: / lv_normalized.
运行上述示例代码后,有多个连续空格的字符串lv_input会被转化为单个空格,结果将输出为'Hello World!”。
上一篇:ABAP回调不支持