如何比较忽略大小写的字符串?

时间:2014-08-21 16:52:42

标签: string d string-comparison

我需要在D忽略的情况下比较两个string s(而不是仅ASCII)。显而易见的解决方案是:

s1.toUpper() == s2.toUpper()

但是我想避免字符串重复或者自己写一个支持可能最快的原生代(如果有的话)。

1 个答案:

答案 0 :(得分:7)

从正好30秒内查找在线D参考:

http://dlang.org/phobos/std_string.html

我找到了String.icmp

  

alias icmp = std.uni.icmp(S1,S2)(S1 str1,S2 str2)if(isForwardRange!S1&& is(Unqual!(ElementType!S1)== dchar)& & isForwardRange!S2&&是(Unqual!(ElementType!S2)== dchar));

     

按字典顺序比较两个字符范围。比较不区分大小写。使用std.algorithm.cmp进行区分大小写的比较。有关详细信息,请参阅std.uni.icmp。

< 0     s1 < s2
= 0     s1 == s2
> 0     s1 > s2