PowerShell区分大小写的字母字符顺序?

标签 powershell string-comparison case-sensitive

我已经用其他语言编写了很多程序,但我对 PowerShell 还很陌生。我知道比较运算符的区分大小写版本,但我对某些结果感到紧张。

我假设 PowerShell 在进行字符串比较时使用 ASCII (Unicode) 值,所以我期望

"abc" -clt "ABC"

导致 错误 – 但它没有

这有一些直观的意义(下边一定比上边小——对吧?)但从 ASCII 的角度来看它没有意义。对于罗马字母字符,这是否刚刚被逆转 - 或者还有更多惊喜等着我?

前任
"#$%" -clt ")*+"

按预期工作(即 True )。

编辑 - 我最初的问题包括一个双重否定,可能会让人们感到困惑。以下是一些有助于澄清的示例:
PS> 'A' -clt 'a'
False

PS> 'a' -clt 'A'
True

P> 'A' -cgt 'a'
True

P> 'a' -cgt 'A'
False

最佳答案

I assumed that PowerShell used ASCII (Unicode) values when doing string comparisons



它不是 :)

PowerShell 中比较运算符的特定于字符串的重载都按字母顺序运行,这也意味着大写字母优先于小写字母。

另一种思考方式:如果您是一名图书管理员,并且不得不为两位作者将同一主题的书籍编入索引,将自己的样式命名为 John Doejohn doe分别地,你可能会把这些书放在 John Doe第一的 :)

关于PowerShell区分大小写的字母字符顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034111/

相关文章:

rest - 如何在 PowerShell 中使用 REST API 在 TFS 中创建错误?

windows - 使用 Windows Control-C 剪贴板复制时如何保留制表符 `n` n?

objective-c - 比较格式为 "2.0.1"、 "2.0.09"的字符串

php - 按降序对一组软件版本进行排序

http - 字符集名称在 HTTP 中区分大小写吗?

php - 关于固定人名以便正确大写的建议

javascript - "İ".toLowerCase() != "i"

windows - 自动生成对 powershell 命令的响应?

powershell - 如何从命令行 Windows 7 设置代理

sqlite - SQLite:如何比较两个表?