[TOC]
- 是一个依靠元编程实现的 String 方法,并非类。
- 主要包含对于 String 的各种增强操作, 包括但不限于 获取长度,获取单个字符,转为字符数组,提取汉字汉语拼音首字母...
- 关于元编程的更多内容,可参考以下文档
- 由于这些方法都非常基础和简单,所以按照官方文档的处理方法(比如其对数学函数的处理方法),多个方法的文档放在同一个页面之中。
- 并非真实存在的,只是为了演示方便。 因为名字太常见,容易撞车。以后如果用得多了可能单独放在一个类里面。
Str:="MyHome"
Zh:="那里有条美丽的河"
提取String中的字符
- 如果越界会抛出 IndexOutOfBounds 异常
参数:
index - 索引
Str.CharAt(6) ;返回e
Str.CharAt(7) ;抛出异常
Str.CharAt(0) ;抛出异常
在字符串中插入字符串。
如果pos
>length+1
,那么头部位置依旧为length+1
。
参数:
insert- 被插入的字符串
pos - 被插入字符串在新字符串中的头部位置
测试:
有
获取String的长度
Str.Length()
提取String中的字符
Str.ToList()
如果不是数字会抛出"String is not Number"异常
转换汉字字符串为首字母汉语拼音字符串
- 提取自 HotWindows(@刘老六)
Zh.py()
从路径中提取文件名(带后缀)
path=D:\BeanLib\StringMethod.ahk
println(path.ExtractNameFromPath())
分割带后缀文件名为单纯的文件名和后缀名(提取后缀名)
FileName=chrome.dll
s:=FileName.SplitFileName()
println(s[1])
println(s[2])
检查字符串是否能完全匹配正则表达式。
PathObj
中的路径合法性检查就是依赖这个实现的,如下:
af(){
aPath:=this.path
aRegEx=^[a-zA-Z]:\\(((?![<>:"/\\|?*]).)+((?<![ .])\\)?)*$
absolutePathResult:=aPath.isRegExMatch(aRegEx)
if Not(absolutePathResult){
Mes:=InvalidPara . "1"
throwWithSt(Mes)
}
return
}
检查字符串是否为数字
其实就是检查是否能够完全匹配RegEx=[0-9]+
LogPrintln("555".isNumber(),"""555"".isNumber() >>>")
分钟转毫秒
秒转毫秒
用多个关键词替换字符串
"ABCDEFG".replaceAll("ACG".ToList(),"")
LogPrintln("ACG".ToList(),A_LineFile "(" A_LineNumber ")" " : " """ACG"".ToList() >>> `r`n")
LogPrintln("ABCDEFG".replaceAll("ACG".ToList(),""),A_LineFile "(" A_LineNumber ")" " : " """ABCDEFG"".replaceAll(""ACG"".ToList(),"""") >>> `r`n")