发表回复 
【AHK教程String函数】【原创首发】
2016-02-18, 21 : 01 (这个帖子最后修改于: 2017-12-04 13 : 50 by xue_zhe.)
【AHK教程String函数】【原创首发】
代码: (全选)
字符串的长度、大小写



StrLen(“abcd”)  ;返回字符串“abcd”的长度4MsgBox % Lcase("abcD")  ;返回小写"abcd"Lcase(string) ;返回string的小写形式{      StringLower,OutputVar, string      Return OutputVar}
MsgBox % Ucase("abcD110")  ;返回大写"ABCD110"Ucase(string) ;返回string的大写形式{      StringUpper,OutputVar, string      Return OutputVar}


提取子字符串以及位置
SubStr(String, StartingPos [, Length])
在 String 中从 StartingPos 开始向右复制不超过 Length 长度的子字符串 (如果 Length 省略, 则默认为 "所有字符"). 对于 StartingPos, 指定 1 从首个字符开始, 2 从第二个开始等 (如果 StartingPos 超过了 String 长度, 则返回空字符串). 如果 StartingPos 小于 1, 那么它被看成是从字符串末尾开始的偏移. 例如, 0 提取最后一个字符而 -1 提取最后两个字符 (但如果 StartingPos 超过了字符串的左端, 则提取又从首个字符开始). Length 是需提取字符的最大数目 (当字符串剩余部分太短时提取的数目会比最大值少). 指定负的 Length 从而在返回字符串的末尾省略这个数目的字符(如果省略了全部或过多字符则返回空字符串)。


SubStr("abcdef",4) ;从左边第4个位置提取到后面的所有字符串,即"def"SubStr("abcdef",2,4) ;从左边第2个位置提取4个字符"bcde"SubStr("abcdef",1,2) ;从左边提取2个字符"ab"Left("abcdef",2) ;从左边提取2个字符"ab"
SubStr("abcdef",-2) ;从右边提取3个字符"def"Right("abcdef",3) ;从右边提取3个字符"def"
Left(string, length)  ;返回指定数目的从字符串的左边算起的字符。{     Return SubStr(string,1,length)}Right(string,length)  ;返回指定数目的从字符串的右边算起的字符。{     Return SubStr(string,-length+1)}
InStr(Haystack, Needle [, CaseSensitive = false, StartingPos = 1, Occurrence = 1])
Haystack             字符串 Needle               子字符串
CaseSensitive      大小写情况,True表示区分大小写,False表示不区分(省略默认值)
StartingPos          起始位置,省略默认为1;如果 StartingPos 超过了 Haystack 的                    
                           长度, 则返回 0. 如果 StartingPos 为 0 或负数, 搜索将从末尾的
                           偏移处开始反向进行 (从右往左).
Occurrence         匹配的位置,如指定 2 来返回第二个匹配的位置




InStr("123abc789","abc") ;返回4 InStr("123abc789Abc","abc",,,2) ;返回10 InStr("123abef789","abc") ;未找到字符串,返回0
插入子字符串




str:="abcfg"StrInsert(str,"2","__")  ;在左边第2个位置插入子字符串"__",返回"a__bcfg"StrInsert(str,"-3","__") ;在右边第4个位置插入子字符串"__",返回"a__bcfg",最右边为0位置/*StrInsert(str,position,newstr)str  要被插入的字符串position 具体位置newstr 要插入的子字符串*/StrInsert(str,position,newstr){       Return   SubStr(str,1,position-1) newstr SubStr(str,position) }




删除子字符串与首尾字符
删除子字符串



LeftTrim ("abcdef",2) ;返回"cdef"RightTrim("abcdef",3) ;返回"abc"
LeftTrim (string,count)  ;string移除count数量个字符串{      Return SubStr(string,count+1)  ;string移除count数量个字符串}RightTrim(string,count)  ;从string右边移除3个字符串{      Return SubStr(string,1,StrLen(string)-count) ;从string右边移除3个字符串}
删除首尾字符



Trim("&001.jpg-&-","-,&") ;从字符串开始和结尾处移除字符"-""&"LTrim("--&001.jpg-&-","-,&")  ;从字符串开始处移除字符"-""&"RTrim("--&001.jpg-&-","-&")  ;从字符串结尾处移除字符"-""&"


替换子字符串




StrReplace("str/string/text","/","&") ;用"/"替换"&",返回"str&string&text"StrReplace(InputVar,SearchText,ReplaceText){      OutputVar:=""      StringReplace,OutputVar,InputVar,%SearchText%,%ReplaceText%, All      Return OutputVar}




字符串与数组
字符串→数组



strings:=StrSplit("string01|string02|string03","|") ;返回数组stringsMsgBox % strings[1] ;strings[1]表示第一组内容
数组 → 字符串

strings:=StrSplit("string01|string02|string03","|")MsgBox % StrJoin(strings,"`n`r") ;分行显示数组StrJoin(strings,char) ;用指定的字符连接字符串,返回结果{      Str:=""      for index,string in strings      {                 Str.=string char  ;与Str:=Str string char效果相同      }      Return RTrim(Str,char)}


附件 缩略图
   
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 4用户表示感谢xue_zhe
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合