【发布时间】:2016-09-08 19:55:30
【问题描述】:
我确信这有一个简单的答案,但是如何在 Julia 中比较两个字符串并忽略大小写?我拼凑了一个相当不雅的解决方案:
function case_insensitive_match{S<:AbstractString}(a::S,b::S)
lowercase(a) == lowercase(b)
end
一定有更好的办法!
【问题讨论】:
-
其实它看起来是一个通用的方法,你会期待什么?
-
如果您想要返回 -1、0 或 1 的更“类似 c”的字符串比较,请使用
cmp而不是==。但除此之外,是的,这似乎是进行不区分大小写比较的最佳方式。一点都不优雅。 -
字符串是一件很麻烦的事情。在比较字符串时,good 解决方案不会 a) 分配,b) 比较超出一阶差异。但最重要的是正确性(以及坚持所需迂腐水平的灵活性)。是的,即使正确性也很难定义,字符串很乱,但这对程序员和 Julia 来说是重要。