查看: 32|回复: 2

字符串切割命令:

[复制链接]

35

主题

75

回帖

1505

积分

金牌会员

积分
1505
发表于 2026-5-30 17:26:56 | 显示全部楼层 |阅读模式
字符串切割命令:
命令 分割符号 分割内容 保存变量 (自动填写数字编号)
[@aaa]
#IF
#ACT
; 分隔字符串后,按顺序往S11及以后放
ExtractStringEx | aaa|bbb|ccc|ddd|000 S11
SendMsg 6 <$STR(S11)>,<$STR(S12)>,<$STR(S13)>,<$STR(S14)>,<$STR(S15)>
; 分隔字符串后,依次放自定义变量1,2,3,4及以后放
ExtractStringEx | aaa|bbb|ccc|ddd|000 S$拆分
SendMsg 4 <$STR(S$拆分1)>,<$STR(S$拆分2)>,<$STR(S$拆分3)>,<$STR(S$拆分4)>,<$STR(S$拆分5)>
[@分割数字]
#IF
#ACT
sendmsg 6 分隔字符串后,按顺序往N100及以后放
ExtractStringEx | 100|101|102|103|104 N100
SendMsg 6 <$STR(N100)>,<$STR(N101)>,<$STR(N102)>,<$STR(N103)>,<$STR(N104)>

;======================================================

特别说明:当参数是变量的不支持嵌套
这样不支持,如下:
GetDBItemFieldValue <$STR(S$奖励内容<$str(p1)>)> idx N$签到奖励<$str(p1)>
正确应该这样:
mov s1 N$签到奖励<$str(p1)>
GetDBItemFieldValue <$STR(S$奖励内容<$str(p1)>)> idx s1
得到的idx还是存到s1中,而不是N$签到奖励1中

正确可以参考以下示范:
#if
#act
MOV S$奖励内容 麻痹戒指,圣战戒指,裁决之杖,屠龙
ExtractStringEx , <$STR(S$奖励内容)> S$奖励内容
MOV P1 1
WHILE P1 < 3
mov s1 N$签到奖励<$str(p1)>
GetDBItemFieldValue <$STR(S$奖励内容<$str(p1)>)> idx s1
sendmsg 6 嵌套的变量获取<$STR(S$奖励内容<$str(p1)>)>IDX<$STR(s1)>
INC P1 1
ENDWHILE

35

主题

75

回帖

1505

积分

金牌会员

积分
1505
楼主 发表于 2026-5-30 17:27:47 | 显示全部楼层
字符串切割命令:

35

主题

75

回帖

1505

积分

金牌会员

积分
1505
楼主 发表于 2026-5-30 17:29:05 | 显示全部楼层
感谢分享,学习了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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