来自_StringExplode()的意外行为

问题描述 投票:3回答:1

我有一个字符串:string1 string2 - string3 string4。我需要在-分成两部分(注意“ - ”两侧的空间)。我有以下代码不能按预期工作:

#include <MsgBoxConstants.au3>
#include <String.au3>

Local $test = _StringExplode("string1 string2 - string3 string4", " - ")

MsgBox($MB_SYSTEMMODAL, "Title", $test[1])

输出是string2。我期待它是string3 string4

enter image description here

必须是一个小小的疏忽,但我找不到它。

split autoit
1个回答
3
投票

...解释我做错了什么......

这是a bug concerning AutoIt v3.3.12.0(在连续测试版中解决)。或者,可以使用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_NOCOUNTStringSplit()的flag参数返回与_StringExplode()相同的数组。

© www.soinside.com 2019 - 2024. All rights reserved.