问题标签 [natural-sort]

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 投票
8 回答
10130 浏览

python - python对末尾有数字的字符串进行排序

什么是对末尾有数字的字符串列表进行排序的最简单方法,其中有些有 3 位数字,有些有 4 位:

应该把1234放在最后。是否有捷径可寻?

0 投票
3 回答
3074 浏览

c# - c#将项目列表添加到按字符串排序的组合框不是自然的

我使用此代码将数字添加到组合框

问题是我得到了类似的东西

但我想喜欢

如何解决?

0 投票
3 回答
765 浏览

php - UCA + 自然排序

我最近了解到 PHP 已经通过 intl 扩展支持 Unicode 排序算法

正如你所看到的,这似乎工作得很好,即使是混合大小写的字符串!到目前为止我遇到的唯一缺点是不支持自然排序,我想知道解决这个问题的最佳方法是什么,以便我可以合并两个世界中最好的。

我试图指定Collator::SORT_NUMERIC排序标志,但结果更加混乱:

但是,如果我只使用这些img*.png值运行相同的测试,我会得到理想的输出:

谁能想到一种在添加自然排序功能的同时保留 Unicode 排序的方法?

0 投票
9 回答
5248 浏览

ruby - 如何在ruby中对字母数字数组进行排序

如何在 ruby​​ 中按字母数字对数组数据进行排序?

假设我的数组是a = [test_0_1, test_0_2, test_0_3, test_0_4, test_0_5, test_0_6, test_0_7, test_0_8, test_0_9, test_1_0, test_1_1, test_1_2, test_1_3, test_1_4, test_1_5, test_1_6, test_1_7, test_1_8, test_1_9, test_1_10, test_1_11, test_1_12, test_1_13, test_1_14, ...........test_1_121...............]

我希望我的输出是:

0 投票
1 回答
169 浏览

ruby - 有没有办法让“Vitamin B12”不在“Vitamin B6”前面?

在 Ruby on Rails 中,默认排序顺序为

有没有一种机制或快速的方法可以按自然语言方式排序,以便B6在前面显示B12

0 投票
2 回答
765 浏览

ruby-on-rails - 在 Ruby on Rails 中,在“gem install”之后",如何让它扩展 Array,或者使用它的类方法?

摘要:在我之后gem install <gem_name>,我如何让它扩展Arraygem可以做的事情?


细节:

我看到了“自然语言排序”的宝石,它是

http://rubygems.org/gems/naturalsort
http://naturalsort.rubyforge.org/

所以我使用的是 Ruby 1.9.2 和 Rails 3.0.6,我添加了这一行

进入Gemfile,然后做一个bundle install并重新启动服务器,但是现在,由于某种原因,我仍然不能做一个

在我的帮助文件中?怎么做到呢?

此外,最好扩展数组以便它可以通过 来完成arr.natural_sort,但我必须添加该行

到帮助文件的开头。好处是它可以工作,但是require每个地方都有点混乱。有没有办法让它工作,可能还通过修改Gemfile或其他东西?

0 投票
1 回答
489 浏览

mysql - MySql 自然排序与某个值的偏移量

我有数据:

我想让所有的行从指定的 id 开始,然后到该结果集的末尾,以添加所有行,直到该指定的 id 并且全部按值排序。

所以我想出了这个:

一切正常,但不是自然排序。通过上面的查询,我得到了结果abc1, abc10, abc2, abc20, abc3。我正在寻找的结果是abc1, abc2, abc3, abc10, abc20. 当然,如果我更改 @id=4 结果应该是abc10, abc20, abc1, abc2, abc3.

通过下面的查询,我得到了我想要的自然排序。

所以问题是:如何将两个 ORDER BY 子句合并为一个?

0 投票
4 回答
239 浏览

algorithm - 如果字符串集中有多个可识别的数字序列,自然排序应该如何工作?

所谓自然排序是为了解决以下问题:当用户期望

“通常”排序会产生:

这是不方便的,不是“自然的”。

现在我们最近遇到了一种情况,用户抱怨同样的问题,我们考虑使用自然排序。然而,出现了以下问题。考虑以下一组字符串:

其中有多个可识别的数字序列,并且这些序列彼此相反。自然排序应该如何处理这样的集合(我的意思是结果应该是什么,而不是如何实现)?

0 投票
5 回答
396 浏览

perl - 在这个 perl 代码中 $_ 在哪里被修改?

以下 perl 代码在 PerlCritic 中生成警告(由 Activestate 提供):

生成的警告是:

不要在列表函数中修改 $_

有关该警告的更多信息在这里

我不明白这个警告,因为我不认为我在修改 $_,尽管我想我必须这样做。有人可以向我解释一下吗?

0 投票
2 回答
2121 浏览

mysql - mysql 自然排序

我有桌子server(id,name,ip)。当我尝试按名称对结果进行排序时,我得到:

srv1,srv10,srv11,srv2,srv6

但我需要这样的结果srv1,srv2,srv6,srv10,srv11

我知道的一个想法是

但我在名称列中有不同的长度

我需要做什么?