问题标签 [string-comparison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
10937 浏览

java - 排序图通过 IgnoreCase 键?

好吧,我测试了 TreeMap,但它没有考虑字符串比较的 IgnoreCase。我需要按字典顺序排序并忽略大小写。还有其他方法吗?

谢谢,那行得通(TreeMap(比较器c))。不过,我还有一个问题:

如何使比较器通用化以处理不同的对象?假设所有人都有 getId() 方法。

谢谢,马丁

0 投票
17 回答
63864 浏览

python - Python中的版本号比较

我想编写一个类似cmp的函数来比较两个版本号并返回-1, 0, 或1基于它们的比较值。

  • -1如果版本 A 比版本 B 旧,则返回
  • 0如果版本 A 和 B 等效则返回
  • 1如果版本 A 比版本 B 新,则返回

每个小节都应该被解释为一个数字,因此 1.10 > 1.1。

所需的功能输出是

这是我的实现,有待改进:

我正在使用 Python 2.4.5 顺便说一句。(安装在我的工作地点......)。

这是您可以使用的小型“测试套件”

0 投票
4 回答
5380 浏览

php - php中基于百分比的字符串比较

我正在寻找一个 PHP 库,它允许我比较两个字符串,并确定它们是否相似。例如:

等等。有任何想法吗?

0 投票
7 回答
5963 浏览

c# - .NET中两个字符串的逐字比较

我需要逐字比较两个字符串。类似于 diff 的东西,但是对于文字,而不是对于线条。

就像在维基百科 http://en.wikipedia.org/w/index.php?title=Horapollo&action=historysubmit&diff=21895647&oldid=21893459

结果我想返回两个单词索引的两个数组,它们在两个字符串中是不同的。

.NET 是否有任何库/框架/独立方法可以做到这一点?

PS我想比较几千字节的文本

0 投票
7 回答
7593 浏览

c - 将字符数组与 C 中的 == 运算符进行比较

我知道在 C 中比较“字符串”的正确方法是使用strcmp,但现在我尝试将一些字符数组与==运算符进行比较,得到了一些奇怪的结果。

看看下面的代码:

第一个printf正确打印 a 1,这表明它们不相等。但是有人可以向我解释为什么在比较字符数组时==返回 a0吗?

有人可以向我解释为什么第一个printf返回 a 1(即它们相等)并且字符数组返回 a0吗?

0 投票
3 回答
29382 浏览

javascript - 在 ECMAScript 中检查空字符串时,为什么我应该使用 string.length == 0 而不是 string == ""?

我当前项目中的大多数开发人员使用(对我而言)奇怪的方式来检查 ECMAScript 中的空字符串:

我通常会写这个:

后一个版本对我来说似乎更具可读性和自然性。

我问过的人似乎都无法解释版本 1 的优点。我猜在过去的某个时候,有人告诉大家这是这样做的方法,但现在那个人离开了,没有人记得为什么要这样做方式。

我想知道为什么我应该选择第一个版本而不是第二个版本?重要的是,一个版本比另一个更好吗?出于某种原因,一个版本更安全还是更快?

(我们实际上在符合 ECMAScript 版本 4 的 Siebel eScript 中执行此操作)

谢谢。

0 投票
8 回答
12782 浏览

c# - String.comparison 性能(带修剪)

我需要做很多高性能的不区分大小写的字符串比较,并意识到我这样做的方式 .ToLower().Trim() 真的很愚蠢,因为所有新字符串都被分配了

所以我挖掘了一下,这种方式似乎更可取:

这里唯一的问题是我想忽略前导或尾随空格,即 Trim() 但如果我使用 Trim 我在字符串分配方面遇到同样的问题。我想我可以检查每个字符串,看看它是 StartsWith(" ") 还是 EndsWith(" "),然后才修剪。要么找出每个字符串的索引、长度并传递给字符串。比较覆盖

但这似乎相当混乱,如果我不为两个字符串上的尾随和前导空格的每个组合制作一个非常大的 if-else 语句,我可能不得不使用一些整数......所以有什么优雅的解决方案的想法吗?

这是我目前的建议:

0 投票
2 回答
292 浏览

.net - string.Compare 行为

这怎么可能?(这取自 VS2008 中的即时窗口)

0 投票
4 回答
391 浏览

c# - 字符串比较等价物

我相信这两条线是等价的,但在遇到一个奇怪的问题后,我不再相信这种情况。

是相同的 :

它们在 CLR 中的实现有什么不同吗?

0 投票
5 回答
5996 浏览

c# - 使用 == 或 Equals 进行字符串比较

在某些语言(例如 C++)中,您不能使用 == 之类的运算符进行字符串比较,因为它会比较字符串对象的地址,而不是字符串本身。但是,在 C# 中,您可以使用 == 来比较字符串,它实际上会比较字符串的内容。但是也有字符串函数来处理这种比较,所以我的问题是;你应该?

给定两个字符串:

您是否应该像这样比较它们:

或者您应该使用 Equal 函数,如下所示:

反正有技术上的区别吗?还是最佳实践的合理论据?