找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 281|回复: 10

[已解决] 如何用rel_model_name中提取-最后的字符

[复制链接]

8

主题

182

回帖

1

威望

工程师

积分
237
发表于 2025-4-23 08:34 | 显示全部楼层 |阅读模式
悬赏10金钱已解决
本帖最后由 惜惜2 于 2025-4-23 10:15 编辑

rel_model_name=A-B-C-D  提取ZZ=D
rel_model_name=A-B-C     提取ZZ=C
rel_model_name=A-B-C-12-56     提取ZZ=56

最佳答案

查看完整内容

豆包写的 /* 计算模型名称字符串的长度 */ StrLen = string_length(rel_model_name()) /* 第一次查找分隔符 "-" 的位置 */ first_index = search(rel_model_name(), "-") /* 如果第一次找到了分隔符 */ if first_index > 0 /* 从第一次找到的位置的下一个字符开始,继续查找分隔符 */ second_index = search(extract(rel_model_name(), first_index + 1, StrLen - first_index), "-") /* 如果第二次也找到了分隔符 * ...
学无止境

20

主题

1696

回帖

32

威望

讲师

积分
2268

希望之星勋章

QQ
发表于 2025-4-23 08:34 | 显示全部楼层
本帖最后由 qq202777898 于 2025-4-23 09:12 编辑

豆包写的


/* 计算模型名称字符串的长度 */
StrLen = string_length(rel_model_name())
/* 第一次查找分隔符 "-" 的位置 */
first_index = search(rel_model_name(), "-")
/* 如果第一次找到了分隔符 */
if first_index > 0
    /* 从第一次找到的位置的下一个字符开始,继续查找分隔符 */
    second_index = search(extract(rel_model_name(), first_index + 1, StrLen - first_index), "-")
    /* 如果第二次也找到了分隔符 */
    if second_index > 0
        /* 从第二次找到的位置的下一个字符开始,继续查找分隔符,以此类推 */
        third_index = search(extract(rel_model_name(), first_index + second_index + 1, StrLen - first_index - second_index), "-")
        if third_index > 0
            /* 假设最多有 4 个分隔符,这里处理找到 4 个分隔符的情况 */
            fourth_index = search(extract(rel_model_name(), first_index + second_index + third_index + 1, StrLen - first_index - second_index - third_index), "-")
            if fourth_index > 0
                last_separator_index = first_index + second_index + third_index + fourth_index
            else
                last_separator_index = first_index + second_index + third_index
            endif
        else
            last_separator_index = first_index + second_index
        endif
    else
        last_separator_index = first_index
    endif
else
    last_separator_index = 0
endif
/* 若存在分隔符,则提取最后一部分;若不存在分隔符,则整个字符串即为结果 */
ZZ = if(last_separator_index > 0, extract(rel_model_name(), last_separator_index + 1, StrLen - last_separator_index), rel_model_name())
豆包.png
回复

使用道具 举报

10

主题

948

回帖

31

威望

讲师

积分
1191

希望之星勋章

QQ
发表于 2025-4-23 09:16 | 显示全部楼层
用extract函数就能提取
115934zh4rbh79zxrjr4yh.png
回复

使用道具 举报

8

主题

182

回帖

1

威望

工程师

积分
237
 楼主| 发表于 2025-4-23 09:19 | 显示全部楼层
xuyanyuan 发表于 2025-4-23 09:16
用extract函数就能提取

我的意思是公式要通用,默认提取最后一个
学无止境
回复

使用道具 举报

10

主题

948

回帖

31

威望

讲师

积分
1191

希望之星勋章

QQ
发表于 2025-4-23 09:47 | 显示全部楼层
惜惜2 发表于 2025-4-23 09:19
我的意思是公式要通用,默认提取最后一个

可以  那就加多一个函数string_length 求出字符串长度
QQ20250423-094403.png
产品结构完美全参关联方案  高级曲面  高级阵列  扫描关系式
QQ:398481639
回复

使用道具 举报

0

主题

419

回帖

0

威望

工程师

积分
429
发表于 2025-4-23 09:58 | 显示全部楼层
谢谢分享
回复

使用道具 举报

8

主题

182

回帖

1

威望

工程师

积分
237
 楼主| 发表于 2025-4-23 10:11 | 显示全部楼层
xuyanyuan 发表于 2025-4-23 09:47
可以  那就加多一个函数string_length 求出字符串长度

还是不对啊  不能够通用,1是代表提取一位,最后一个-后面的字符位数不不一样的,可以是5位数也可以是其他任意位数
学无止境
回复

使用道具 举报

8

主题

182

回帖

1

威望

工程师

积分
237
 楼主| 发表于 2025-4-23 10:14 | 显示全部楼层

豆包的这个可以
学无止境
回复

使用道具 举报

10

主题

948

回帖

31

威望

讲师

积分
1191

希望之星勋章

QQ
发表于 2025-4-23 10:18 | 显示全部楼层
本帖最后由 xuyanyuan 于 2025-4-23 10:24 编辑

不对  搞错
产品结构完美全参关联方案  高级曲面  高级阵列  扫描关系式
QQ:398481639
回复

使用道具 举报

10

主题

948

回帖

31

威望

讲师

积分
1191

希望之星勋章

QQ
发表于 2025-4-23 10:21 | 显示全部楼层
惜惜2 发表于 2025-4-23 10:11
还是不对啊  不能够通用,1是代表提取一位,最后一个-后面的字符位数不不一样的,可以是5位数也可以是其 ...

好吧   那不对就算了
产品结构完美全参关联方案  高级曲面  高级阵列  扫描关系式
QQ:398481639
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2025) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2025-5-1 13:15 , Processed in 0.142342 second(s), 25 queries .

快速回复 返回顶部 返回列表