当前位置:  开发笔记 > 编程语言 > 正文

如何使哈希键查找不区分大小写?

如何解决《如何使哈希键查找不区分大小写?》经验,为你挑选了3个好方法。

显然,哈希密钥以区分大小写的方式进行比较.

$ perl -e '%hash = ( FOO => 1 ); printf "%s\n", ( exists $hash{foo} ) ? "Yes" : "No";'
No

$ perl -e '%hash = ( FOO => 1 ); printf "%s\n", ( exists $hash{FOO} ) ? "Yes" : "No";'
Yes

是否有更改当前脚本的设置?



1> Leon Timmerm..:

您将不得不使用绑定哈希.例如Hash :: Case :: Preserve.



2> Paul Tomblin..:

字符串的散列和更改大小写的相同字符串不相等.因此,除非在创建它之前在每个哈希键上调用"uc"并且在使用它之前,否则无法执行所需操作.



3> amphetamachi..:
my %hash = (FOO => 1);
my $key = 'fOo'; # or 'foo' for that matter

my %lookup = map {(lc $_, $hash{$_})} keys %hash;
printf "%s\n", ( exists $hash{(lc $key)} ) ? "Yes" : "No";

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有