Autohotkey 如何在由多个空格分隔的值组成的字符串中获取某个(由var确定)值

Autohotkey 如何在由多个空格分隔的值组成的字符串中获取某个(由var确定)值,autohotkey,Autohotkey,字符串看起来像这样: 3.142 43.674 3.453 1.233 543.234 我得到了一个变量,在本例中它可以从1到5变化,我想确定哪一个值要提取到一个新的变量中。因此,如果我的变量是4,我需要第四个值。您是否从帮助文件中签出了不同的循环命令?在本例中,您需要使用空格分隔符来解析字符串。以下是帮助文件信息: 非常感谢你,埃文。这似乎是要走的路。我以前读过循环解析,但从未使用过它,现在我更喜欢一些带有sInput var的正则表达式。循环解析似乎更有意义。但它必须是循环下的“{”和“}”

字符串看起来像这样:

3.142 43.674 3.453 1.233 543.234


我得到了一个变量,在本例中它可以从1到5变化,我想确定哪一个值要提取到一个新的变量中。因此,如果我的变量是4,我需要第四个值。

您是否从帮助文件中签出了不同的循环命令?在本例中,您需要使用空格分隔符来解析字符串。以下是帮助文件信息:


非常感谢你,埃文。这似乎是要走的路。我以前读过循环解析,但从未使用过它,现在我更喜欢一些带有sInput var的正则表达式。循环解析似乎更有意义。但它必须是循环下的“{”和“}”,对吗?没问题,很乐意帮忙。大括号仅在需要执行多行代码时才是必需的;否则,将只执行它后面的一行。是的,我猜这只是一行,因为MsgBox被“隐藏”在If。。。?虽然您的解决方案工作正常,但我遇到了一个意想不到的问题,因为数字组分隔使一些值(>=1000)看起来像1020.00,而我需要它是1020.00。但这里有一个新问题:正确。我应该澄清一下,说“不止一行[非嵌套]代码”。
sVar := "3.142 43.674 3.453 1.233 543.234"
Inputbox , sInput , Which Value? , Which value do you want?
If !ErrorLevel
    Loop , Parse , sVar , %A_Space%
        If (A_Index = sInput)
            MsgBox , %A_LoopField%