【问题标题】:How to get the last comma separated data stored in a variable? - Progress 4gl如何获取存储在变量中的最后一个逗号分隔的数据? - 进步4gl
【发布时间】:2022-03-30 16:26:52
【问题描述】:

我是进步 4gl 的新手,但不知道如何编写逻辑来获取最后一个逗号之后的最后一个值和使用逗号分隔符的最后一个值之前的值。请帮忙

define variable cdata as character no-undo initial "1,14,13,45".
define variable lvc_data1 as character no-undo.
define variable lvc_data2 as character no-undo.

要分配的预期结果(仅使用分隔符):

lvc_data1 = "45"

lvc_data2 = "1,14,13"

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    最后一个元素很容易使用 ENTRY 和 NUM-ENTRIES。对于其他的,我使用 SUBSTRING 和 R-INDEX:

    define variable cdata as character no-undo initial "1,14,13,45".
    define variable lvc_data1 as character no-undo.
    define variable lvc_data2 as character no-undo.
    
    MESSAGE ENTRY (NUM-ENTRIES (cdata), cdata) SKIP 
            SUBSTRING (cdata, 1, R-INDEX (cdata, ",") - 1 ) 
        VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
    

    【讨论】:

    • 如何验证错误“条目 0 超出列表范围。(560)”的条目功能
    • 如果字符串为空,num-entries 将返回 0,因此您需要添加检查,if cdata > '' then entry( num-entries( cdata ), cdata ) else ''entry( max( 1, num-entries( cdata ) ), cdata )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2023-03-29
    • 2013-05-08
    相关资源
    最近更新 更多