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

标签 string d string-comparison

我需要在忽略大小写的 D 中比较两个 string(而不是仅 ASCII)。显然的解决方案是:

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

但我想避免字符串重复或自己编写一个可能是最快的本地 onde(如果有的话)。

最佳答案

从整整 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 && is(Unqual!(ElementType!S2) == dchar));

Compares two ranges of characters lexicographically. The comparison is case insensitive. Use std.algorithm.cmp for a case sensitive comparison. For details see std.uni.icmp.

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

关于string - 如何比较忽略大小写的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431762/

相关文章:

java - Java中如何删除字符串中的某个字符?

constants - 如何通过 D 中的 const 引用循环遍历图形?

templates - 检查符号是否是 D 中的成员函数/字段的[指针]

swift - swift3中的字符串变量比较

java - 如何添加java输入文本

python - 类型错误:在字符串格式化期间并非所有参数都被转换

d - D 中的参数化类型和返回值为什么不起作用?

java - 是否可以像比较数字一样比较字符串?

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

c - strtok - 如何避免换行并放入字符串数组?