最新消息:

对“《Let’s AutoIt》AU3零起步教程 AutoIt”教程中字符串相关函数解释

autoit 永恒心锁 2118浏览 0评论

对“《Let’s AutoIt》AU3零起步教程 AutoIt”教程中字符串相关函数解释
大家好,这是对“《Let’s AutoIt》自由天空AU3零起步教程 AutoIt”教程中第六章 第三节 字符串相关函数 进行详细的解释(有错误请谅解)  ,顺序是按照“《Let’s AutoIt》自由天空AU3零起步教程 AutoIt”的顺序进行一一解释!
1、StringLeft
   语法:StringLeft ( “字符串”, 数量 )
作用:返回字符串中从左开始指定数量的字符. 注:数量:要得到的字符数。
例如:

  • $Var = StringLeft(“大家好,见到你们很高兴-lchl0588 “, 11)
  • MsgBox(0, “最左边11个字符为:”, $Var)

2、StringRight
   语法:StringRight ( “字符串”, 数量 )
   作用:返回字符串中从右开始指定数量的字符.
   例如:

  • $Var = StringRight (“大家好,我们在学习:AU3 “, 10        )
  • MsgBox(0, “最右边10个字符为:”, $Var)

呵呵,我们遇到一个有意思的现象:Left 翻译下看是什么意思:是左边,而Right呢,是右边!其含义还是保留点好——-丰富下想像力!!!
3、StringMid
   语法:StringMid ( “字符串”, 起始位置 [, 数量] )
   作用:取某个字符串的部分字符.也就是:为了获得“字符串”某一部分的内容,规定了“从哪里开始(就是起始位置)”,到“哪里结束(就是数量)”。
   例子:

  • Dim $a,$Var
  • $a=”大家好,我们在学习: AU3″
  • $Var = StringMid ($a, 5,10)
  • MsgBox(0, “获取某部分字符:”, $Var)

呵呵,再叨唠几句:给大家出个作业吧:对比下1   2与3 有哪不同—–心里明白就行了
4、StringLen
  语法:StringLen ( “字符串” )
  作用:返回指定字符串的字符总数. 也就是获取“字符串”总个数——包括符号哦
  例子:

  • Dim $a,$Var
  • $a=”大家好,我们在学习:AU3″  ;我查了下一共13个,运行看结果吧!
  • $Var = StringLen ($a)
  • MsgBox(0, “字符串长度为:”, $Var)

5、StringLower
  语法:StringLower ( “字符串” )
  作用:转换字符串为小写字母.  注:把“字符串”中所有字母全部转换为小写字母!
  例子:

  • Dim $a,$Var
  • $a=”HELLO EVERYone,我们在学习:AU3″
  • $Var = StringLower($a)
  • MsgBox(0, “字符串转换为小写为:”, $Var)

6、StringUpper
  语法:StringUpper ( “字符串” )
作用:转换字符串为大写字母.  注:把“字符串”中所有字母全部转换为大写字母!
例子:

  • Dim $a,$Var
  • $a=”Hello ereryone,我们在学习:au3″
  • $Var = StringUpper($a)
  • MsgBox(0, “字符串转换为小写为:”, $Var)

StringLower 与 StringUpper   意思正好相反
7、StringReplace
  语法:StringReplace ( “字符串”, “搜索字符串/起始位置”, “替换字符串” [, 数量 [, 区分大小写]] )
  作用:替换字符串中的指定子串. 注:在所有的“字符串(内容)”中,查找/指定位置 的内容后,并替换,可以规定只替换其中几个并规定是否  区分大小写(0 不区分,1 区分,2 使用基本/快速的比较方法)。
        (注:偶理解:感觉跟修改作业差不多,哪里错了,改哪里!)
  例子:

  • Dim $a,$Var
  • $a=”大 家 好,我 们 在学习:AU3″
  • $Var = StringReplace($a,” “, “-“)
  • $numreplacements = @extended
  • MsgBox(0, “新字符串为:”, $Var)
  • MsgBox(0, “共替换的数量为:”, $numreplacements)

注:$a变量的值是“大(空格)家(空格)好,我(空格)们(空格)在学习:AU3
   $Var = StringReplace($a,” “, “-“) 看到$a,” “,双引号里是空格,不是什么没有,这一点要注意哦。如果我想把$a的内容全改呢,那用学过的知识,一定会办到的!!(启示下:把空格换为上述“三”项的函数)
8、StringSplit
   语法:StringSplit ( “字符串”, “分隔符” [, 标志 ] )
   作用:在整个“字符串”中,以“分隔符”为标准(可理解成分界线),把“字符串”拆分成若干个“子串”。
      标志参数:0(默认值)时把分隔符中的每个字符作为分隔标准!
               为1时,把分隔符中的整体作为分隔标准!
               为2,关闭第一个元素中的返回数量 – 方便使用 UBound() 得到此基于0开始的数组
这里注意下:标志参数只针对“分隔符”规定。不是.“StringSplit”哦!
如果想详细的了解这个函数,请参照AU3帮助!!!
实例  为了大家更好的明白:请参照:[url= http://www.autoitx.com/viewthrea … &extra=page%3D2]点此 进入,找三楼afan版版的代码[/url]
说下,以“@CRLF & @CRLF ”为分隔符,把a.txt 分成若干个小段,然后以1~A~Z的顺序 进行排列等等!
如果请更进一步的了解,希望把这篇文章的内容都看一遍!!!直到看明白为止!!!
9、StringStripCR
   语法:StringStripCR ( “字符串” )
   作用:删除字符串中的所有回车( Chr(13) ). 注:Chr(13)=回车 [属于(ASCII码)].
   例子:

  • Dim $a=StringStripCR(“大家好,我们在学习”  & Chr(13) &”:AU3″)
  • MsgBox(0,”StringStripCR 例子”,$a)

10、StringAddCR
   语法:StringAddCR ( “字符串” )
   作用:在指定字符串的所有换行符( Chr(10) )前附加一个回车( Chr(13) )
   例子:

  • Dim $a=StringAddCR(“大家好”& Chr(10) &”我们”& Chr(10) &”在”& Chr(10) &”学习:”  & Chr(10) &”AU3″)
  • MsgBox(0,”StringStripCR 例子”,$a)

11、StringStripWS
   语法:StringStripWS ( “字符串”, 标志 )
   作用:删除掉所有  字符串中的”空白符”. 注:空白符=空格。
标志:1、去掉左边空格 2、去掉右边空格 3、去掉双(或多)空格 8、去掉所有空格
例子:

  • Dim $a=StringStripWS(“大家好”&” “&”我们”&” “&”在”&” “&”学习:”&” “&”AU3”,8)
  • MsgBox(0,”StringStripWS 例子”,$a)

12、StringTrimLeft
   语法:StringTrimLeft ( “字符串”, 数量 )
   作用:删除字符串中从左开始指定数量的字符.
   假如你明白 StringLeft ,这个也不用说了! “数量”呢—–想删除的个数!
13、StringTrimRight
   语法:StringTrimRight ( “字符串”, 数量 )
作用:删除字符串中从右开始指定数量的字符.

  • 参照  12、StringTrimLeft

14、StringCompare
   语法:StringCompare ( “字符串1”, “字符串2” ,[区分大小写] )
   作用:按选项比较两个字符串. 注:有两个例子—-字符串1和字符串2  进行比较,条件是区分大小写。
有三种情况:0、不区分(默认)  1、区分   2、不区分大小写, 使用基本/快速的比较方法
例子:

  • $Var= StringCompare(“HAO朋友”, “hao朋友”,0)
  • MsgBox(0, “StringCompare Result (例子0):”, $Var)
  • $Var= StringCompare(“HAO朋友”, “hao朋友”,1)
  • MsgBox(0, “StringCompare Result (例子1):”, $Var)
  • $Var= StringCompare(“HAO朋友嘛”, “hao朋友”,2)
  • MsgBox(0, “StringCompare Result (例子2):”, $Var)

运行上述代码后,结果是  例子0=0  例子1=-1 例子2=1
我们可以从帮助上看到解释:
0 表示字符串1与字符串2 相等 ;<0 表示字符串1  小于  字符串2;>0 表示  字符串1 包含 字符串2  
这里特别要注意  0与 2   多次测试结果基本相同,知道是不是BUG….. 同时也看到“《Let’s AutoIt》自空AU3零起步教程 AutoIt”的解释也不同 真不明白“可以规定只替换其中几个(以偶的理解:是不是调用此函数时,实际情况是这样的)”是什么得出的!
15、StringInStr
语法:StringInStr ( “字符串”, “子字符串” [, 区分大小写 [, 出现次序 [, 开始 [, 数量]]]] )
作用:检查某个字符串是否含有给定的子串. 注:这篇文章内,查找出这段相同的内容!!
例子:

  • Dim $Var=StringInStr(“abcdabcdabcd”,”d”,0,2,6,8)
  • MsgBox(0, “StringInStr:”, $Var)  ;例子1
  • $a = StringInStr(“abcdabcdabcd”, “d”)
  • MsgBox(0, “StringInStr:”, $a)   ;例子2


复制代码

举了两个例子,例子1是全面的参数,搜索范围空间比较窄。 从“abcdabcdabcd”里搜索“d”,按照大小写(大小写的区分,请参照14项内容)2表示第二次出现时,开始从第6个字符串查找(这里规定了查找的范围),8或12 都可以  (注:这里的数量是要比较的数量)
运行结果是12 为什么是12呢!答案就是出现次序上!!
例子2 结果是4  不明白之处请参照AU3 帮助,有详细的参数说明!!!
16、StringIsAlNum
   语法:StringIsAlNum ( “字符串” )
   作用:检查某个字符串是否仅含有字母或数字(文字数字式字符).注:是返回1 ,否返回0,说明字符串含有非文字数字字符.
例子:

  • $a = “abcd123”
  • MsgBox(0, “StringIsAlNum:”, StringIsAlNum($a)) ;是
  • $a = “abcd123@”
  • MsgBox(0, “StringIsAlNum:”, StringIsAlNum($a)) ;否

注:从这里开始,针对后面StringIs… 例子不再一一列举!!!  例子基本跟16  例子差不多!!!
17、StringIsAlpha
   语法:StringIsAlpha ( “字符串” )
   作用:检查某个字符串是否仅含有字母(文字字符). 注:是返回1 ,否返回0,说明字符串含有非字母字符.
18、StringIsASCII
   语法:StringIsASCII ( “字符串” )
   作用:检查某个字符串是否仅含有ASCII码值介于 0x00 到 0x7f (0-127)之间的字符. 注:注:是返回1 ,否返回0,说明给定的字符串含有扩展的 ASCII 字符.  不懂  “ASCII”是什么,请百度自个搜!!!
19、StringIsDigit
   语法:StringIsDigit ( “字符串” )
   作用:检查某个字符串是否仅含有数字(0-9)字符. 注:是返回1 ,否返回0,说明给定的字符串含有非数字字符.
20、StringIsFloat
    语法:StringIsFloat ( “字符串” )
    作用:检查某个字符串是否为浮点数. 注:是返回1 ,否返回0,说明给定的字符串并非浮点数格式.
   这里要注意的是:一个字符串(被认为)是浮点数仅当其含有至少一个十进制数和只有一个小数点;其它字符可以是在开头的加号或减号.StringIsFloat 不接受逗号作为小数点,即使是电脑的区域设置中已设置使用该符号.若给定的参数并非字符串则它先被转成字符串,请查看例子.(还是帮助里全,不编辑了 这里看“表达式”)

  • StringIsFloat(“1.5”);返回1
  • StringIsFloat(“7.”);返回1,因为包含小数
  • StringIsFloat(“-. 0”);返回1
  • StringIsFloat(“3 / 4”);返回0,因为’3’斜线’4’是不是浮动
  • StringIsFloat(“2”);返回0,因为’2’是一个整数,而不是浮动
  • StringIsFloat(1.5);返回1,因为1.5转换为字符串包含。
  • StringIsFloat(1.0);返回0,因为1.0转换成字符串不包含。

21、StringIsInt
      语法:StringIsInt ( “字符串” )
      作用:检查某个字符串是否整型数. 注:是返回1 ,否返回0,说明给定的字符串不是一个整数.
   这里要注意的是:StringIsInt 对非字符串的整数表达式也返回 1.但是,如果是十六进制的表达式如 “4ff0” 等则 StringIsInt 的返回值为0.字符串中唯一允许含有的标点符号是在开头(首字符)的加号或减号.(这里看结果)

  • StringIsInt(“42”);返回1
  • StringIsInt(“-00”);返回1
  • StringIsInt(“1.0”);返回0,由于小数点
  • StringIsInt(1.0);返回1,由于一些字符串的转换
  • StringIsInt(“1 +2”);返回0,由于加号

22、StringIsLower
    语法:StringIsLower ( “字符串” )
    作用:检查某个字符串是否仅含有小写字母. 注:是返回1 ,否返回0,说明给定的字符串含有非小写字母. 只要字符串中含有数字,标点符号,空白符则 StringIsLower 将返回0.
23、StringIsSpace
   语法:StringIsSpace ( “字符串” )
   作用:检查某个字符串是否仅含有”空白符”.  注:是返回1 ,否返回0,说明给定的字符串包含了非空白符.  所谓空白符是指从 Chr(9) 到 Chr(13) 的所有字符,包括水平制表符,换行符,垂直制表符,进纸符以及回车符.           空白符还包括空字符串(Chr(0))和标准空格符(Chr(32)).
24、StringIsXDigit
   语法:StringIsXDigit ( “字符串” )
   作用:检查某个字符串是否仅含有十六进制字符(0-9, A-F).  注:是返回1 ,否返回0,说明给定的字符串中含有非十六进制字符.   有效的十六进制字符包括 0123456789abcdefABCDEF,若给定的字符串中含有空白符或 “0x” 前缀都将导致

  • StringIsXDigit 返回0.
  • StringIsXDigit(“00FC”)    ; 返回1
  • StringIsXDigit(“2570”)    ; 返回1
  • StringIsXDigit(“a cafe”)   ; 返回0,a cafe
  • StringIsXDigit(1 + 2.0)    ; 返回1,由于一些字符串的转换

看完之后,也会发现在一个规律!!!!!同时也是如何学习AU3帮助的学习方法!!!!

永恒心锁,版权所有丨如未注明,均为转载丨本网站采用BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » 对“《Let’s AutoIt》AU3零起步教程 AutoIt”教程中字符串相关函数解释

您必须 登录 才能发表评论!