将字符串的首字母转换为大写的函数

2020-08-18 07:38发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我想将以下字符串设置为'34 GOLDEN GATE BRIDGE ROAD'

进入" 34金门大桥Raod"

我试图浏览论坛,但找不到能做到这一点的功能。

有一种简单的方法吗?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我想将以下字符串设置为'34 GOLDEN GATE BRIDGE ROAD'

进入" 34金门大桥Raod"

我试图浏览论坛,但找不到能做到这一点的功能。

有一种简单的方法吗?

谢谢

付费偷看设置
发送
3条回答
骆驼绵羊
1楼 · 2020-08-18 08:23.采纳回答

嗨,

我不知道有实现此目的的简便方法。

但是,您可以为此编写代码。

以这种方式进行:

将整个字符串转换为小写。

在此字符串中搜索空间。 (您可以使用语法FIND或SEARCH)

这将给出字符串中空格的偏移位置。 将1加到该偏移量。 这是您要使用大写字母的位置。 请检查此字符是否从集合(a到z)中,以便您不会将除字母之外的其他任何字符转换为大写字母(不要尝试同样的操作)。 如果是,则将此单个字母更改为大写并搜索下一个空格。

最后,您会得到想要的结果。

我认为这种逻辑不会太复杂。

我希望在功能模块中开发此逻辑,以便可以在任何需要的地方使用。

奖励(如果有用)。

保持ABAP ..

Ags ..

太Q了
2楼-- · 2020-08-18 08:24

或者您可以尝试...无需担心偏移量计算...

 DATA:l_string(50)VALUE'你好dfadfasdj你怎么...什么'。
 数据:l_string1(50)。
 数据:l_string2(50)。

 写:l_string。

 做。
    在空间INTO l_string1 l_string中分割l_string。
    通话功能" STRING_UPPER_LOWER_CASE"
       出口
        分隔符=''
        字符串1 = l_string1
      输入
        字符串= l_string1
      例外情况
        not_valid = 1
        too_long = 2
        too_small = 3
        其他= 4。
    如果sy-subrc = 0。
       CONCATENATE l_string2 l_string1 INTO l_string2由空格分隔。
    万一。

    如果l_string是INITIAL。
       压缩l_string2。
       出口。
    万一。
 ENDDO。

 WRITE:/l_string2。
蓋茨
3楼-- · 2020-08-18 08:21

此函数...

通话功能'ISP_CONVERT_FIRSTCHARS_TOUPPER'
出口
input_string = lv_string_input
* SEPARATORS ='-。,;:'
导入
output_string = lv_string_output。

一周热门 更多>