2015-05-19 52 views
3

我有一個字符串:string1 string2 - string3 string4。我需要在-(注意「 - 」兩邊的空格)分成兩部分。我有以下代碼不按預期工作:來自_StringExplode()的意外行爲

#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

必須是一個小疏忽,但我無法找到它。

回答

3

&hellip;解釋我在做什麼錯誤&hellip;

這是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()的標誌參數返回陣列相同_StringExplode()