HGE引擎如何分割字符串 - ExtractString命令用法详解
摘要:HGE引擎的ExtractString命令可以把字符串按分隔符拆成多段存入字符变量,ExtractStringEx还能同时输出整型统计变量,是脚本里处理坐标串、名单、键值数据的基础工具。本文按帮助文档原文拆解两条命令的格式与参数,给出分割实操步骤、常见报错修复和FAQ,适合传奇脚本维护者直接查阅使用。…
很多GM在写脚本时都遇到过同一个问题:从字符串里按分隔符拆出几段内容,手工截取容易算错位置,写长了又不好维护。HGE引擎的 字符串分割 功能由ExtractString命令提供,它能把指定字符串按分隔符拆开、依次存入字符变量,一步完成分割字符串到变量的转换与变量赋值脚本编写。
ExtractString命令支持把结果存入S、A两类个人临时字符变量,另有一个扩展命令ExtractStringEx可以同时输出字符变量和整型变量,两条命令的格式均来自HGE引擎帮助文档原文。下面按格式拆解、参数表、实操步骤、报错修复和常见问题的顺序展开。

分割命令格式拆解
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发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。










