lchl0588 发表于 2010-3-15 11:37:13

补“《Let's AutoIt》自由天空AU3零起步教程 AutoIt”教程中(StringSplit函数)解释

呵呵,这是对对“《Let's AutoIt》自由天空AU3零起步教程 AutoIt”教程中字符串相关函数解释中,第8个StringSplit函数的详细解释!
StringSplit
作用:以指定分隔符把字符串拆分成若干子串

语法:StringSplit ( "字符串", "分隔符" [, 标志 ] )

字符串:目标字符串. 也就是我们常说的内容!
分隔符: 一个或多个作为分隔符的字符! 可以这样来理解:分隔符是“字符串”的“关键字符”
标志: [可选参数]
若标志为0(默认值),则(分隔符)字符串中的每个字符都将用于拆分字符串.
若标志为1,则只能以整个分隔符字符串来拆分字符串.
若标志为2,关闭第一个元素中的返回数量 - 方便使用 UBound() 得到此基于0开始的数组.
    呵呵,不要小看“可选参数”如果灵活运行之,结果会有想不到的效果!(后面偶用代码来详解之)

看完这些后,也明白“语法”中各个参数中的作用及区别,那运行完后,结果是啥呢!

我们要接着看:运行stringsplit()后,用msgbox来获取运行结果:是一个数组!!!!(数组是什么,不明白的话,去补下基础知识吧“-_-”)
偶以“帮助”代码来举例:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")
;$days contains "Sun" ... $days contains "Sat"如果按照上述代码分析的话,肯定会“_-_”的
那偶这样举例呢:
举例一:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")
;$days contains "Sun" ... $days contains "Sat"
msgbox(0,"举例",$days)运行之后会返回   如下图:

结果为什么是“7”呢! $days中那个是产生“7”的关键之处呢! 如果你明白上面的“分隔符”含义!这里也不难理解了!
举例二:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", " ");把","换为" "(双引号里是空格)
;$days contains "Sun" ... $days contains "Sat"
msgbox(0,"举例",$days)运行之:结果如下图:

结果是1,为什么,引用帮助的解释:若(在目标字符串中)未发现分隔符则 @error 将被设为1,子串数量($array)等于1,而函数将返回整个字符串($array).多多理解此含义哦,后面还是有代码来说明的!
举例三:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", "");","改为""
;$days contains "Sun" ... $days contains "Sat"
msgbox(0,"举例",$days)结果是27为什么呢,引用帮助的话:若给定的分隔符是个空字符串 "",则每个字符将作为数组元素返回.
如果改"$days"中改为 运行之,结果会是 s ;2呢 结果会是u依次推类!!!!
举例四:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",",0)
;$days contains "Sun" ... $days contains "Sat"
msgbox(0,"举例",$days)开始加“标志”, 为了方便:标志=结果    0=7 ; 1=7 ; 2=Sun ; 3=Sun ; 4=1 ; 5=1 ; 6=Sun ; 7=Sun ; 8=1 9=1 ; 10=Sun ; 11=Sun ; 12=1 ..........
呵呵,有规律性的分类!!!

复习题:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",",3)
;$days contains "Sun" ... $days contains "Sat"
msgbox(0,"举例",$days)此函数 还有更多的组合,需要你我慢慢的领悟.............

catcher 发表于 2010-3-15 14:42:21

好东西,继续补充

yuexiao986 发表于 2010-3-17 12:51:09

这个确实是好东西 我也顶下

liuyuting 发表于 2010-3-22 19:42:51

这个内容要加进那个教程里面去就好了。

liuyuting 发表于 2010-3-22 19:43:17

还没学到这里来呢。

jaydancer 发表于 2010-4-9 16:31:21

感谢楼主,先收藏了

cheng4ever 发表于 2010-6-9 09:10:52

先收藏了,感谢楼主

larpow 发表于 2013-4-18 08:34:01

好东西,多谢分享。。。。。。。。。。

xikjun 发表于 2013-4-19 08:46:23

好,试试看!

old_snoopy 发表于 2013-9-16 22:38:34

学习加支持!!!
页: [1]
查看完整版本: 补“《Let's AutoIt》自由天空AU3零起步教程 AutoIt”教程中(StringSplit函数)解释