Date 如何删除字符文本中的空格?
我编写了一个代码,可以自动从系统中提取与时间相关的信息。如表中所示,t247月份名称的长度固定为10个字符。但在报告屏幕上显示时,它是一个坏图像 我这样打印:Date 如何删除字符文本中的空格?,date,concatenation,abap,write,Date,Concatenation,Abap,Write,我编写了一个代码,可以自动从系统中提取与时间相关的信息。如表中所示,t247月份名称的长度固定为10个字符。但在报告屏幕上显示时,它是一个坏图像 我这样打印: WRITE : 'Bugün', t_month_names-ltx, ' ayının'. CONCATENATE gv_words-word '''nci günü' INTO date. CONCATENATE date ',' INTO date. CONCATENATE date gv_year INTO da
WRITE : 'Bugün', t_month_names-ltx, ' ayının'.
CONCATENATE gv_words-word '''nci günü' INTO date.
CONCATENATE date ',' INTO date.
CONCATENATE date gv_year INTO date SEPARATED BY space.
TRANSLATE date TO LOWER CASE.
我尝试了压缩t\u month\u names-ltx NO-GAPS.
方法来删除空格,但这还不够
写后,我可以通过设置空白值静态写入:
WRITE : 'Bugün', t_month_names-ltx.
WRITE : 14 'ayının'.
CONCATENATE gv_words-word '''nci günü' INTO date.
CONCATENATE date ',' INTO date.
CONCATENATE date gv_year INTO date SEPARATED BY space.
TRANSLATE date TO LOWER CASE.
但这不是一个正确的用法。如何动态实现这一点?您可以使用字符串类型的临时字段:
DATA l_month TYPE STRING.
l_month = t_month_names-ltx.
WRITE : 'Bugün', l_month.
WRITE : 14 'ayının'.
CONCATENATE gv_words-word '''nci günü' INTO date.
CONCATENATE date ',' INTO date.
CONCATENATE date gv_year INTO date SEPARATED BY space.
TRANSLATE date TO LOWER CASE.
不能从类型C字段中删除尾随空格,因为它的长度是恒定的。未使用的长度始终用空格填充 但是,在组装字符串之后,可以使用
压缩
无间隙删除字符串中多个空格的任何链
在您编写的代码下面添加压缩日期。,您应该会得到想要的结果
另一种选择是放弃串联
,而是使用(符号|
中的字符串文字)进行字符串汇编,这样就不会有包含类型C字段尾随空格的恼人习惯:
DATA long_char TYPE C LENGTH 128.
long_char = 'long character field'.
WRITE |this is a { long_char } inserted without spaces|.
输出:
this is a long character field inserted without spaces
您目前获得的
Bugün Temmuz ayın yirmidört'nci günü,2020
或Bugün Temmuz ayın yirmidört'nci günü,2020
。你希望得到什么确切的文本?此外,您希望此文本存储在变量中还是通过WRITE输出?concure对我来说很有用,即使没有无间隙
。日期字段的类型是什么?它应该是字符串,而不是字符