如何删除字符文本中的space?
How to delete space in character text?
我写了一段代码,可以自动从系统中提取与时间相关的信息。如 table 所示,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 date SEPARATED BY space.
TRANSLATE date TO LOWER CASE.
我试过CONDENSE t_month_names-ltx NO-GAPS.
的方法删除空格,还是不行
WRITE后,我可以通过设置空白值静态写入:
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.
您不能从 TYPE C 字段中删除尾随 space,因为它的长度是固定的。未使用的长度总是用spaces.
填充
但是在你组装你的字符串之后,你可以使用 CONDENSE
没有 NO-GAPS 来删除字符串中超过一个 space 的任何链。
在你写的代码下面添加CONDENSE date.
,你应该会得到你想要的结果。
另一种选择是放弃 CONCATENATE
并使用 string templates(|
符号内的字符串文字)代替字符串汇编,它没有包含尾随 [= 的恼人习惯27=] 类型 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
我写了一段代码,可以自动从系统中提取与时间相关的信息。如 table 所示,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 date SEPARATED BY space.
TRANSLATE date TO LOWER CASE.
我试过CONDENSE t_month_names-ltx NO-GAPS.
的方法删除空格,还是不行
WRITE后,我可以通过设置空白值静态写入:
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.
您不能从 TYPE C 字段中删除尾随 space,因为它的长度是固定的。未使用的长度总是用spaces.
填充但是在你组装你的字符串之后,你可以使用 CONDENSE
没有 NO-GAPS 来删除字符串中超过一个 space 的任何链。
在你写的代码下面添加CONDENSE date.
,你应该会得到你想要的结果。
另一种选择是放弃 CONCATENATE
并使用 string templates(|
符号内的字符串文字)代替字符串汇编,它没有包含尾随 [= 的恼人习惯27=] 类型 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