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

ruby-on-rails - Rails 文本字段中的自然排序

我的相册列表如下:

当我按标题对它们进行排序时,我最终得到:

我希望他们在哪里:

我基本上想对标题进行自然排序,但要按字母自然排序。是否有任何类型的宝石可以为我正确执行此操作?

亲切的问候,尼尔

0 投票
3 回答
264 浏览

algorithm - 对字符串中的数字进行“自然”排序的最简单方法?

我刚看到这个,我想知道实现这样的自然排序的最佳方法是什么?

通常在一个列表中1,4,11,12的字符串排序(用于列出项目)返回1,11,12,4。如何实现自然排序?

在此处输入图像描述

0 投票
2 回答
4969 浏览

python - 自然排序

我有一些文件需要按名称排序,可惜我不能使用常规排序,因为我也想对字符串中的数字进行排序,所以我做了一些研究,发现我要找的东西叫做自然排序

我尝试了这里给出的解决方案,效果很好。

PresserInc-1_10.jpg但是,对于像and这样的字符串PresserInc-1_11.jpg会导致特定的自然键算法失败,因为它只匹配第一个整数,在这种情况下是1and 1,所以它会抛出排序。所以我认为可能有帮助的是匹配字符串中的所有数字并将它们组合在一起,所以如果我有PresserInc-1_11.jpg算法应该给我111回来,所以我的问题是,这可能吗?

以下是文件名列表:

files = ['PresserInc-1.jpg', 'PresserInc-1_10.jpg', 'PresserInc-1_11.jpg', 'PresserInc-10.jpg', 'PresserInc-2.jpg', 'PresserInc-3.jpg', 'PresserInc-4.jpg', 'PresserInc-5.jpg', 'PresserInc-6.jpg', 'PresserInc-11.jpg']

0 投票
1 回答
112 浏览

sql - 如何自然地对值为 0 的文本进行排序?

我想从 sql 中对这个测试表进行排序:

从这里使用修改后的 sql: SQLite 排序问题

我得到了几乎完美的结果,但是:0 值不在正负之间

0 投票
4 回答
23974 浏览

sql - 使用 PostgreSQL 进行字母数字排序

在数据库中,我有以下格式的各种字母数字字符串:

我希望它们基本上按字符串前面的数字排序,然后按字符串名称本身排序,但是当然,字符会被一一比较,因此按名称排序的结果会产生:

而不是我更喜欢的顺序:

老实说,如果字符串只是按前面的数字排序,我会很好。我对 PostgreSQL 不太熟悉,所以我不确定最好的方法是什么。我会很感激任何帮助!

0 投票
1 回答
893 浏览

postgresql - JPA Postgres 浮点映射/排序

我们开发了一个使用 Postgres 数据库作为持久性介质的 Java EE 应用程序。我们的一些实体属性被映射为浮点数。对这些列进行排序会导致以下结果:

我预期的结果是:

float 属性在 postgres 数据库中使用数据类型 float(8) 进行映射。使用以下普通 sql 查询排序按预期工作:

还将列类型更改为“真实”的作品。有什么方法(除了使用列定义)可以使用 jpa 来完成这项工作吗?

0 投票
6 回答
14622 浏览

c++ - 使用 Qt 对文件名进行自然排序

我正在使用QDir::entryList(). 其中的文件名结构如下:

我需要它们按indexWindows 资源管理器排序文件的方式排序,以便我得到

而不是排序依据QDir::Name给我的:

Qt 中是否有内置的方法来实现这一点,如果没有,在什么地方实现它?

0 投票
2 回答
779 浏览

mysql - mysql 自然排序给定数据

我有以下格式的数据:

我想在mysql中对此进行自然排序。

结果应该是这样的:

尝试了一些 mysql 自然排序技巧,但对我不起作用。建议将不胜感激。

我试过这个:

0 投票
2 回答
1675 浏览

java - 结合字母顺序和自然顺序(又名。用户理智排序)

我认为这很容易找到预制的,但似乎我可以在网上找到的任何解决方案都只能解决部分问题。

我想对用户提供的文件名列表(并且文件大多以人员和/或地址命名)进行排序,有时使用不同的语言(主要是德语,这里和那里混合了一些法语和意大利语) ,很少有其他西方语言)。

我们的想法是以(德国)用户通常认为合理的方式呈现此列表。这意味着顺序应该遵循Locale.GERMAN 的 java.text.Collat​​or,但同时期望对字符串中的数字进行例外处理,因此“10”在“2”之后。

我在网上找到了进行自然排序的代码,但它依赖于逐个字符的比较(而 Collat​​or 不支持)。我可以用子字符串破解一些东西,但是在比较器内部,我认为在每个比较调用上创建多个子字符串并不是最聪明的主意。

任何想法如何有效地实现这一点(在执行时间和实现时间),或者更好的测试和准备使用的实现?

0 投票
2 回答
1693 浏览

postgresql - 如何在postgres sql中对不规则的字母数字数据进行排序

对于示例表的特定列符号,我有以下示例数据。

(更新:)数据不是常规模式。数字可以出现在字符之间的任何位置。

我需要在数据库级别对这些数据进行排序。我使用了以下查询:

结果如下:

但我需要通过以下方式获取订单: