# StringCaseSense

设置在字符串比较中是否区分大小写(默认为 "不区分大小写").

    StringCaseSense, OnOffLocale

## 参数

OnOffLocale

  指定以下单词之一:

  On: 字符串比较时区分大小写. 此设置也让表达式等号运算符(=) 和 InStr() 的不区分大小写模式使用下面的 locale 方式进行处理.

  Off(初始默认值): 字母 A-Z 被视为等同于它们的小写字母. 为了向后兼容和保持高效, 这是所有脚本的初始默认值(根据被比较字符串的性质, 使用 Locale 比 Off 慢 1 到 8 倍).

  Locale [v1.0.43.03+]: 字符串比较遵循当前用户区域设置的规则. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也视为等同于它们的 ANSI 字母, 例如 Ä 和 Ü.

  [v1.1.30+]: 可以分别使用十进制值 1 和 0 代替 On 和 Off.

## 备注

此设置适用于:

- 表达式比较运算符(除了 ==). 但是, 由于等号运算符(=) 总是不区分大小写, 当 StringCaseSense 设置为 On 时它使用 Locale 模式, 与 InStr() 的不区分大小写模式相同.
- IfInString, StringGetPos 和 InStr(). 然而, InStr() 在其 CaseSensitive 参数为 true 时, 不会受此设置影响.
- StrReplace() 和 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, StrReplace(), StringGetPos, StringReplace

## 示例

根据当前用户的语言区域规则, 使字符串比较不区分大小写.

    StringCaseSense Locale

dftg