问题标签 [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 投票
10 回答
35963 浏览

c# - C# 中的字符串比较性能

有多种方法可以比较字符串。以一种方式胜过另一种方式是否会提高性能?

我一直选择像这样比较字符串:

但是我发现很少有人这样做,如果有的话,我看到更多的人只是直接进行 == 比较,据我所知,这是比较字符串的最糟糕的方法。我错了吗?

此外,在 LINQ 查询中比较字符串的方式是否有所不同?例如,我喜欢执行以下操作:

但同样,我看到很少有人在他们的 LINQ 查询中进行这样的字符串比较。

0 投票
1 回答
237 浏览

ruby - 不可重现的字符串比较,强制 elsif 失败

在回答这个代码高尔夫问题时,我在回答中遇到了一个问题。

我一直在对此进行测试,尽管 IRB 具有正确的行为,但我什至无法在代码中进行这两个比较。我真的需要一些帮助。

这是代码,下面将解释问题。

问题发生在 的分配中negate

当表达式之前的字符是破折号时,我需要否定为真,但条件甚至不起作用。n == '-'n[0] == '-',引用的形式无关紧要,每次都以 FALSE 结束。然而,我一直在使用这种精确的比较并且n == '('每次都能正常工作!

到底是怎么回事?为什么不起作用n == '-',什么时候起作用n == '('?这是用 UTF-8 编码的,没有 BOM,UNIX 换行符。

我的代码有什么问题?

0 投票
11 回答
133745 浏览

java - Java中的相似性字符串比较

我想比较几个字符串,并找到最相似的字符串。我想知道是否有任何库、方法或最佳实践可以返回哪些字符串与其他字符串更相似。例如:

  • “狐狸跳了”->“狐狸跳了”
  • “快狐跳”->“狐狸”

这种比较将返回第一个比第二个更相似。

我想我需要一些方法,例如:

有没有这样的地方?

编辑:我为什么要这样做?我正在编写一个脚本,将 MS Project 文件的输出与一些处理任务的遗留系统的输出进行比较。因为遗留系统的字段宽度非常有限,所以在添加值时,描述会被缩写。我想要一些半自动的方法来查找 MS Project 中的哪些条目与系统上的条目相似,这样我就可以获得生成的密钥。它有缺点,因为它仍然必须手动检查,但它会节省很多工作

0 投票
1 回答
1811 浏览

c# - 不区分大小写的StringComparisons之间的区别?

可能重复:
通常最好使用哪个 - StringComparison.OrdinalIgnoreCase 或 StringComparison.InvariantCultureIgnoreCase?

当使用 String.Equals(string a, string b, StringComparison comparisonType) 并且不关心 'a' 和 'b' 的情况时,使用什么是正确的 StringComparison?换句话说,StringComparison.CurrentCultureIgnoreCase、StringComparison.InvariantCultureIgnoreCase 和 StringComparison.OrdinalIgnoreCase 有什么区别,它们各自会如何影响 String.Equals 的使用?

0 投票
3 回答
333 浏览

string-comparison - 在 Microsoft 编程语言中比较字符串时使用什么情况?

注意:这是我出于历史兴趣提出的更多问题,因为我意识到现代语言具有内置的正则表达式和不区分大小写的字符串比较方法。

在比较未知大小写的两个字符串时,我记得读过基于 Microsoft 的转换方法,这些方法针对大写而不是小写进行了优化。所以:

会比:

如果这是真的,当您需要搜索时,将字符串数据存储为大写而不是小写会更好吗?

0 投票
5 回答
41399 浏览

bash - bash、破折号和字符串比较

我正在尝试在一个简单的 shell 脚本中比较两个字符串。我使用的是/bin/shinstead of /bin/bash,经过无数小时的调试,结果 sh (实际上是破折号)无法处理这段代码:

使用 比较字符串的可移植方法是什么/bin/sh?我知道我总是可以通过使用 != 来做相反的事情,但我想知道一种更清洁、更便携的方式。

0 投票
7 回答
431461 浏览

perl - 如何在 Perl 中比较两个字符串?

如何在 Perl 中比较两个字符串?

我正在学习 Perl,我在 StackOverflow 上找到了这个基本问题,但没有找到好的答案,所以我想我会问。

0 投票
3 回答
2115 浏览

python - 将两个字符串与 'is' 进行比较 - 未按预期执行

我正在尝试将两个字符串与is进行比较。一个字符串由函数返回,而另一个只是在比较中声明。测试对象身份,但根据这个页面,由于 Python 的内存优化,它也适用于两个相同的字符串。但是,以下方法不起作用:

输出:

我猜这是因为函数返回的字符串是与字符串文字不同的字符串“类型”。无论如何要获得一个返回字符串文字的函数吗?我知道我可以使用==,但我只是好奇。

0 投票
2 回答
2858 浏览

php - 应该在字符串中使用严格比较吗?

我知道,例如,使用:

超过:

可以提高性能并避免一些常见错误(例如 1 == true),但是我想知道是否有理由对字符串使用严格比较,例如:

似乎与以下内容完全相同:

如果有人可以为这个主题带来一些启发,我将不胜感激。

0 投票
6 回答
170103 浏览

c++ - C++比较char数组和字符串

我正在尝试将字符数组与这样的字符串进行比较:

这个 if 语句永远不会验证为真......当我输出 var1 它是“dev”时,我在想它可能与以空结尾的字符串有关,但是“dev”和 var1 的 strlen 是相等的......我还认为可能 var1 == "dev" 正在将 "dev" 与 var1 的内存位置而不是值进行比较。*var1 == "dev" 导致错误....尝试了很多东西,对于精明的 c++ 开发人员来说可能是一个简单的解决方案(我很久没有编写 c++ 代码了)。

编辑:我们已经尝试过

谢谢

编辑:在家测试后,我只是建议我的同事将数据类型更改为字符串。我相信他正在将一个大尺寸的 char 数组与一个字符串进行比较。我编写了一个输出 sizeof、strlen 等的程序来帮助我们完成它。感谢大家的帮助。