StringCaseSense
优质
小牛编辑
128浏览
2023-12-01
设置在字符串比较中是否区分大小写(默认为“不区分大小写”)。
StringCaseSense, On|Off|Locale
参数
- On|Off|Locale
On: 字符串比较时区分大小写. 此设置也让 表达式等号运算符 (=) 和 InStr() 的不区分大小写模式使用下面的 locale 方式进行处理.
Off (初始默认值): 字母 A-Z 被视为等同于它们的小写副本. 为了向后兼容和保持高效, 这是所有脚本的初始默认值 (根据被比较字符串的性质, 使用 Locale 比 Off 慢 1 到 8 倍).
Locale [v1.0.43.03+]: 字符串比较 不 区分大小写, 且遵循当前用户区域设置. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也视为等同于它们的 ANSI 字母, 例如 Ä 和 Ü.
备注
此设置适用于:
- 表达式比较运算符 (除了 ==). 但是, 由于 等号运算符 (=) 总是不区分大小写, 当 StringCaseSense 设置为 On 时它使用 Locale 模式, 与 InStr() 的不区分大小写模式相同.
- IfInString, StringGetPos 和 InStr(). 然而, InStr() 在其 CaseSensitive 参数为 true 不会受此设置影响.
- StringReplace
- if var in/contains MatchList, if var between 和 IfEqual 及其系列.
- [AHK_L 42+]: if var is [not] type 仅在 Locale 模式生效时才遵循系统区域设置.
内置变量 A_StringCaseSense 包含了当前设置 (单词 On, Off 或 Locale).
每个新运行的 线程 (例如 热键, 自定义菜单项 或 定时 子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段 (脚本的顶部) 使用此命令可以改变这个默认设置.
相关
IfEqual, IfInString, if var between, StringReplace, StringGetPos
示例
StringCaseSense Locale