来自 _StringExplode() 的意外行为
Unexpected behavior from _StringExplode()
我有一个字符串:string1 string2 - string3 string4
。我需要它在 -
处一分为二(注意“-”两边的 space)。我有以下代码未按预期工作:
#include <MsgBoxConstants.au3>
#include <String.au3>
Local $test = _StringExplode("string1 string2 - string3 string4", " - ")
MsgBox($MB_SYSTEMMODAL, "Title", $test[1])
输出为string2
。我预计它会是 string3 string4
.
一定是一个小疏忽,但我找不到它。
… explain what I'm doing wrong …
是a bug concerning AutoIt v3.3.12.0 (solved in successive beta). Alternatively StringSplit()
可以使用:
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <Array.au3>
Global Const $g_aTest = StringSplit('string1 string2 - string3 string4', ' - ', $STR_ENTIRESPLIT)
MsgBox($MB_SYSTEMMODAL, 'Title', $g_aTest[2])
_ArrayDisplay($g_aTest)
将 $STR_NOCOUNT
包含到 StringSplit()
的标志参数 returns 数组与 _StringExplode()
相同。
我有一个字符串:string1 string2 - string3 string4
。我需要它在 -
处一分为二(注意“-”两边的 space)。我有以下代码未按预期工作:
#include <MsgBoxConstants.au3>
#include <String.au3>
Local $test = _StringExplode("string1 string2 - string3 string4", " - ")
MsgBox($MB_SYSTEMMODAL, "Title", $test[1])
输出为string2
。我预计它会是 string3 string4
.
一定是一个小疏忽,但我找不到它。
… explain what I'm doing wrong …
是a bug concerning AutoIt v3.3.12.0 (solved in successive beta). Alternatively StringSplit()
可以使用:
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <Array.au3>
Global Const $g_aTest = StringSplit('string1 string2 - string3 string4', ' - ', $STR_ENTIRESPLIT)
MsgBox($MB_SYSTEMMODAL, 'Title', $g_aTest[2])
_ArrayDisplay($g_aTest)
将 $STR_NOCOUNT
包含到 StringSplit()
的标志参数 returns 数组与 _StringExplode()
相同。