问题标签 [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.
.net - StringComparer.CurrentCulture 是在这种情况下使用的正确选择吗?
我有一个 UTF-8 字符串列表,我想使用Enumerable.OrderBy对其进行排序。字符串可以包含任意数量的字符集——例如,英语、德语和日语,或者它们的混合,甚至。
例如,这是一个示例输入列表:
我对使用StringComparer.CurrentCulture是否是传递给的正确字符串比较参数感到困惑OrderBy()
。如果应用程序的当前文化是,en-US
但我仍然想“正确”排序 UTF-8 数据而不仅仅是en-US
排序规则?
我的困惑可能源于我对Oracle 中NLSSORT函数的理解,该函数与 .NET 字符串比较和排序语义不太匹配。例如,设置 NLS_SORT=Japanese_M 意味着它将正确地对拉丁语、西欧语和日语进行排序,无论是否有任何或所有字符出现在可排序列的给定字符串中。
language-agnostic - 排序月份(带字符串)算法
我有这个月份的数组:
我想让它像这样排序:
我目前正在考虑“if/else”可怕的级联,但我想知道是否还有其他方法可以做到这一点。
不好的部分是我只需要使用“字符串”来执行此操作(即,不使用 Date 对象或类似的东西)
什么是好方法?
delphi - Delphi - 比较和标记字符串差异
我需要做的是比较两个字符串并用开始/结束标记标记差异以进行更改。例子:
输出将是
p>我一直在试图弄清楚这一点。我发现一些我认为可以帮助我做到这一点的东西,但我无法做到这一点。
http://www.angusj.com/delphi/textdiff.html
我有大约 80% 在这里工作,但我不知道如何让它完全按照我的意愿工作。任何帮助,将不胜感激。
我从 angusj.com 获取了 basicdemo1 并对其进行了修改以实现这一目标。
windows - 两个 TCHAR 的不区分大小写的比较
忽略大小写比较两个单独的字符(char
或 UTF-16 s)的好方法是什么?wchar_t
一个简单的实现将是大写或小写。其中一种被认为更好,还是有其他方法?
我知道不可能对 Unicode 的所有细节进行完全正确的比较。该比较主要用于配置文件和微语法的一些基本解析,因此不需要完美。在每个字符比较的限制下,我正在寻找一个不太错误的实现。
[编辑]
这些配置文件可能包含向用户显示的文本。此外,在分析用户输入时,我无法避免 unicode 文本。
sql-server - Unicode 字符导致 SQL Server 2005 字符串比较出现问题
这个查询:
返回一个标签列值为“fußball”的结果。列“标签”定义为 nvarchar(150)。
虽然我知道它们在语法上是相似的词,但任何人都可以解释和捍卫这种行为吗?我认为它与允许您更改列/表的区分大小写的相同排序规则设置有关,但谁会想要这种行为?当另一个值由于违反约束而存在时,列上的唯一约束也会导致插入一个值失败。我该如何关闭它?
后续加分问题。解释为什么这个查询不返回任何行:
奖励问题(答案?):@ScottCher 私下向我指出,这是由于字符串文字“fussball”被视为 varchar。此查询确实返回结果:
但是话又说回来,这个没有:
我很困惑。
c# - 将字符串与容差进行比较
我正在寻找一种将字符串与字符串数组进行比较的方法。进行精确搜索当然很容易,但我希望我的程序能够容忍拼写错误、字符串的缺失部分等等。
是否有某种框架可以执行这样的搜索?我有一些想法,搜索算法将按匹配百分比或类似的东西返回一些结果顺序。
php - 比较版本号的最佳灵活方法是什么?
我正在使用脚本来比较已安装和可用应用程序的版本号。在正常情况下,我会使用简单的比较运算符。由于我在 PHP 5.3 环境中构建此应用程序,因此我考虑过使用version_compare(),但这似乎并不像我想要的那样干净地满足我的需求。
我正在比较的版本字符串可以遵循多种格式,但到目前为止我遇到的是:
- “2.6.18-164.6.1.el5”与“2.6.18-92.1.13.el5”
- “4.3p2”与“5.1p1”
- “5.1.6”与“5.2.12”
- '2.6.24.4-foo.bar.x.i386' 与 '2.4.21-40'
如您所见,我确实没有一致的格式可以使用。
我考虑做的一件事是将每个版本字符串拆分为非数字字符,然后迭代生成的数组并比较相对索引。但是,我不确定这是否是一种好方法,尤其是在 '2.6.24-4-foo.a.12.i386' 与 '2.6.24-4-foo.b.12' 的情况下.i386'。
是否有任何经过充分测试的方法来比较非常松散的版本号,特别是在 PHP 环境中?
php - PHP substr 和 strlen 替代方案
我听说在 PHP 中有一些用于处理更安全位的函数 substr() 和 strlen() 的替代方法。这是真的吗?如果是,那么这些功能是什么?我听说它是基于函数 strcmp() 但我没有直接看到如何使用它。
.net - 包含不匹配的连字符的字符串比较
我在 url 重写模块中有一个方法,看起来像这样
但是,对于以下值,它不会返回 true:
x = "/xx09-02-09xx"; y = "09-02-09";
但是如果我用原始字符串编写单元测试,如下所示,它确实返回 true
有什么区别?编码?文化?已尝试删除 ToLowerInvarient(),但这没有区别
在 Match 方法中尝试了以下所有方法
但在重写模块中运行时,这些值都没有返回 true。但是他们在单元测试中做到了。所以关于弦的东西显然是不同的
有任何想法吗?
php - MySQL DATETIME 格式比较 - 是否需要 strtotime?
我一直在做一些事情......
需要strtotime吗?我可以对日期时间格式的字符串进行更直接的比较吗?
IE
这会一直有效吗?