AHK脚本开发请求:提取变量中的每隔一个字符(保留偶数位)
AutoHotkey脚本:提取字符串中偶数位置的字符(第2、4、6...位)
没问题,这就给你搞定这个需求——从给定的字符串里提取每隔一个的字符,也就是保留第2、4、6……位的内容,直接给你两种实现方式,按需选用:
方式一:通过奇偶判断提取
这种写法逻辑直观,适合刚接触AHK的朋友理解:
; 定义原始字符串变量 originalStr := "CYOMYACHOAYJGUGRYYQNYB" resultStr := "" ; 用于存储最终结果的空变量 ; 遍历原始字符串的每一个字符位置(AHK字符串索引从1开始) Loop, % StrLen(originalStr) { ; 只处理偶数位置的字符(第2、4、6...位) if (A_Index % 2 = 0) { ; 取出当前位置的单个字符,拼接到结果字符串中 resultStr .= SubStr(originalStr, A_Index, 1) } } ; 弹出窗口显示结果,也可以把resultStr用于其他逻辑 MsgBox, 提取后的结果:`n%resultStr%
方式二:直接指定循环步长(更高效)
如果追求简洁和效率,可以直接让循环从第2位开始,每次跳2位,省去奇偶判断的步骤:
originalStr := "CYOMYACHOAYJGUGRYYQNYB" resultStr := "" ; Loop参数:起始位置, 结束位置(字符串总长度), 步长 Loop, 2, % StrLen(originalStr), 2 { resultStr .= SubStr(originalStr, A_Index, 1) } MsgBox, 提取后的结果:`n%resultStr%
两种方式运行后,都会得到你要的结果:YMAHAJURYNB。要是需要把结果用到其他地方,直接使用resultStr变量就行啦。
内容的提问来源于stack exchange,提问作者Vadim Markelov
相关产品推荐
相关产品推荐

