当前位置:首页 > 实操教程 > HGE引擎 > 正文内容

HGE引擎如何分割字符串 - ExtractString命令用法详解

M2GM2026-10-23HGE引擎38
摘要:HGE引擎的ExtractString命令可以把字符串按分隔符拆成多段存入字符变量,ExtractStringEx还能同时输出整型统计变量,是脚本里处理坐标串、名单、键值数据的基础工具。本文按帮助文档原文拆解两条命令的格式与参数,给出分割实操步骤、常见报错修复和FAQ,适合传奇脚本维护者直接查阅使用。…
[TOCM]

很多GM在写脚本时都遇到过同一个问题:从字符串里按分隔符拆出几段内容,手工截取容易算错位置,写长了又不好维护。HGE引擎的 字符串分割 功能由ExtractString命令提供,它能把指定字符串按分隔符拆开、依次存入字符变量,一步完成分割字符串到变量的转换与变量赋值脚本编写。

ExtractString命令支持把结果存入S、A两类个人临时字符变量,另有一个扩展命令ExtractStringEx可以同时输出字符变量和整型变量,两条命令的格式均来自HGE引擎帮助文档原文。下面按格式拆解、参数表、实操步骤、报错修复和常见问题的顺序展开。

字符串分割配图 - M2GM

分割命令格式拆解

ExtractString命令的标准格式为:

ExtractString 分隔符 需处理字符串 字符变量1 字符变量2 字符变量3 字符变量4 字符变量5 字符变量6

分隔符、需处理字符串和6个字符变量共8个参数,按顺序依次填写,一次最多拆出6段。帮助文档示例以竖线作为分隔符:

#if
#ACT
ExtractString | 变量1|变量2|变量3|变量4|变量5|变量6| S1 S2 S3 S4 S5 S6
SENDMSG 7 分割完毕:<$STR(S1)>,<$STR(S2)>,<$STR(S3)>,<$STR(S4)>,<$STR(S5)>,<$STR(S6)>

扩展命令ExtractStringEx的格式为:

ExtractStringEx 分隔符 需处理字符串 个人临时字符变量 个人临时整型变量

ExtractStringEx只支持个人临时变量,帮助文档注明:如果字符串内容不是整型,转换成个人临时整型变量时结果固定为0,需处理字符串为空时整型变量同样输出0。先把坐标代码串存入字符变量再分割的示例:

#if
#ACT
MOV <$S(坐标代码)> 11#22#33#44#55#66#
ExtractStringEx # <$S(坐标代码)> <$S(坐标a)> <$N(坐标b)>
SENDMSG 7 分割完毕,字符变量:<$S(坐标a0)>,<$S(坐标a1)>,<$S(坐标a2)>,<$S(坐标a3)>,<$S(坐标a4)>,<$S(坐标a5)>
SENDMSG 7 分割完毕,共<$N(坐标b)>个整形变量:<$N(坐标b0)>,<$N(坐标b1)>,<$N(坐标b2)>,<$N(坐标b3)>,<$N(坐标b4)>,<$N(坐标b5)>

分割符与变量参数表

ExtractString命令各参数含义如下:

参数 说明
分隔符 用来切分字符串的字符,如竖线、井号
需处理字符串 待分割的内容,支持S、A个人临时字符变量
字符变量1-6 分割结果依次写入的6个变量位

字符串分割脚本里,分隔符每出现一次就把内容切出一段,示例中”变量1|变量2|变量3|变量4|变量5|变量6”按竖线拆成6段,分别进入S1到S6。数值计算上,拆出的段数与字符串里分隔符的数量直接相关,段数少于6时后面的变量位没有内容可写,段数多于6时超出的部分不进入变量,取值时以实际分割结果为准。

字符串分割实操步骤

第一步:确定分隔符与需处理字符串的来源,例如从个人变量读取一组用井号连接的坐标代码。

第二步:按格式把ExtractString命令写入#ACT执行段,分隔符、需处理字符串、字符变量位依次填好。

第三步:用SENDMSG或后续脚本引用<$STR(S1)>到<$STR(S6)>验证分割结果,确认无误后投入正式脚本。

可复制的完整示例:

[@Main]
#IF
#ACT
ExtractString # 11#22#33#44#55#66# S1 S2 S3 S4 S5 S6
SENDMSG 7 第一段:<$STR(S1)>,第二段:<$STR(S2)>

分割命令报错修复

分割后变量没有内容,先确认需处理字符串里确实存在分隔符,字符串与分隔符的位置写反是常见原因。

提示变量类型不符,先检查ExtractStringEx的整型参数位是否用了个人临时整型变量,字符内容转整型结果为0是帮助文档明确的规则。

拆出的段数对不上,先数清楚字符串里分隔符的数量,拆出的段数由分隔符决定,不要按字符个数去预估。

个人临时变量取值异常,先确认S、A变量位在脚本中有效,变量位被其他命令占用时分割结果可能被覆盖。

常见问题

1. 问:ExtractString和ExtractStringEx有什么区别?

答:ExtractString只把分割结果写入字符变量,ExtractStringEx额外输出一个整型变量用于记录拆分数量,适合需要统计段数的场景;两者的分隔符与需处理字符串参数写法一致,区别主要在输出变量的类型上。(来源:HGE引擎帮助文档,2026-10检索)

2. 问:分割后为什么有的变量是空的?

答:拆出的段数由字符串里分隔符的数量决定,段数少于6时后面的变量位没有内容可写,先数清楚分隔符个数再核对变量引用位置,空的变量位按脚本逻辑单独处理。

3. 问:分割结果能在后续脚本里继续使用吗?

答:可以,分割结果存入字符变量后,用<$STR(变量)>的写法在后续脚本中引用,示例里的SENDMSG就是引用验证,其他命令同样可以读取这些变量。

4. 问:分隔符能不能用多个字符?

答:帮助文档给出的示例均为单个分隔符,实际脚本也以竖线、井号这类单字符为主,如需使用多个字符组合,先在本地环境实测确认切割结果再写入正式脚本。

5. 问:字符串里没有分隔符会怎样?

答:没有分隔符就无法切段,整段内容不会按预期拆开,写脚本前先确认需处理字符串的内容与分隔符匹配,测试时用SENDMSG把原始字符串打出来核对。(来源:HGE引擎帮助文档,2026-10检索)

6. 问:个人临时字符变量S和A都能存分割结果吗?

答:帮助文档注明变量支持S、A个人临时字符变量,两种类型均可接收分割结果,变量位按脚本现有使用情况选择即可。

7. 问:分割字符串到变量能处理数字内容吗?

答:能,数字型内容同样按分隔符拆分,拆分结果进入字符变量;需要整型数量统计时用ExtractStringEx的整型变量位,注意非整型内容转整型固定为0。(来源:HGE引擎帮助文档,2026-10检索)

字符串分割收尾

本文整理了HGE引擎ExtractString命令的字符串分割用法,覆盖标准格式、分隔符与变量参数表、实操步骤、报错修复和常见问题,分割字符串变量是脚本里高频的基础操作,把示例中的分隔符和变量位换成自己脚本里的内容即可直接使用,变量赋值脚本的写法也与示例保持一致。核心的 字符串分割 功能一句话概括:在#ACT段调用ExtractString,填对分隔符与变量位,字符串就按段进入变量。

ExtractString的六段字符变量拆分在本地HGE引擎环境逐项跑通后落笔,仅供单机调试参考,仅适配HGE引擎,其他引擎同名分割命令需自行验证。

内容来源可溯:HGE引擎帮助文档(脚本命令详解-功能操作命令页面)。

扫描二维码推送至手机访问。

本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/tech/hge/hge-extractstring-split/

分享给朋友:

相关文章

大秦插件读取键值使用教程 - 键值数据读取配置指南

大秦插件读取键值使用教程 - 键值数据读取配置指南

读取键值命令DQHashTableGet后接标识字符串和存储变量两个参数,把哈希库内容读进变量供后续判断;标识不区分大小写,没写入过的标识读出来是空值需兜底;常用于玩家登录加载累计数据、活动开关判断、配置参数读取;读取与写入查找配对形成闭环,变量按内容类型选,数字别当文字比。…

SD插件如何判断字符串类型 - SDCheckCharType脚本命令详解

SD插件如何判断字符串类型 - SDCheckCharType脚本命令详解

SD插件判断字符串类型用SDCheckCharType命令实现,涵盖命令格式拆解、参数对照、实操示例与易错点。参数1取0到5六种判断口径,分别对应汉字字母数字混合、纯汉字、纯字母、纯小写、纯大写、纯数字,参数2填待检测文本,配合#SAY与#ELSESAY分支即可完成注册改名类输入校验,建议放在#IF条件段使用。…

LFM2引擎读取文本内容到变量 - GetListString命令配置教程

LFM2引擎读取文本内容到变量 - GetListString命令配置教程

LFM2引擎的GetListString命令用于按行号读取文本文件内容到变量,格式为文件路径加行号加变量1加变量2加是否绝对路径,行号从0开始,变量2可省略,读变量2时文本单行须为名称加冒号加数值格式。本文按帮助文档原文整理命令格式、行号与变量参数表、读取步骤与行号错位坑点,帮助脚本调试者把名单与代码分离维护。…

996引擎分割数字到变量GETVALIDSTRSUPER字符配置命令用法

996引擎分割数字到变量GETVALIDSTRSUPER字符配置命令用法

996引擎分割数字到变量用GETVALIDSTRSUPER命令实现高级字符分割,本文讲解命令格式、参数对照、从装备列表拆行逐个发放的实操步骤与高频误操作。参数1为待分割内容、参数2为分割符号、参数3存临时变量N$XX或S$XX且S$XX支持到9999、参数4可选存总段数,拆完按编号逐个GIVE发放。…

996引擎如何检测本月的天数 - DAYOFMONTH日期判断命令详解

996引擎如何检测本月的天数 - DAYOFMONTH日期判断命令详解

996引擎检测本月的天数用DAYOFMONTH命令实现,本文讲解格式说明、参数详解、配置步骤、案例进阶与FAQ。DAYOFMONTH接起止两个天数,第二个参数可省略,落在区间内条件即成立,适合本月前几天、月末签到类日期活动,在登录或NPC对话触发里按日期发对应提示。…