|
呵呵,这是对对“《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[1] contains "Sun" ... $days[7] contains "Sat"
如果按照上述代码分析的话,肯定会“_-_”的
那偶这样举例呢:
举例一:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")
;$days[1] contains "Sun" ... $days[7] contains "Sat"
msgbox(0,"举例",$days[0])
运行之后会返回 如下图:
结果为什么是“7”呢! $days中那个是产生“7”的关键之处呢! 如果你明白上面的“分隔符”含义!这里也不难理解了!
举例二:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", " ");把","换为" "(双引号里是空格)
;$days[1] contains "Sun" ... $days[7] contains "Sat"
msgbox(0,"举例",$days[0])
运行之:结果如下图:
结果是1,为什么,引用帮助的解释:若(在目标字符串中)未发现分隔符则 @error 将被设为1,子串数量($array[0])等于1,而函数将返回整个字符串($array[1]). 多多理解此含义哦,后面还是有代码来说明的!
举例三:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", "");","改为""
;$days[1] contains "Sun" ... $days[7] contains "Sat"
msgbox(0,"举例",$days[0])
结果是27 为什么呢,引用帮助的话:若给定的分隔符是个空字符串 "",则每个字符将作为数组元素返回.
如果改"$days[0]"中[0]改为[1] 运行之,结果会是 s ; 2呢 结果会是u 依次推类!!!!
举例四:$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",",0)
;$days[1] contains "Sun" ... $days[7] contains "Sat"
msgbox(0,"举例",$days[0])
开始加“标志”, 为了方便:标志=结果 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[1] contains "Sun" ... $days[7] contains "Sat"
msgbox(0,"举例",$days[2])
此函数 还有更多的组合,需要你我慢慢的领悟............. |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
|