gpt4 book ai didi

java - 域名排序

转载 作者:行者123 更新时间:2023-11-29 04:04:57 25 4
gpt4 key购买 nike

有人实现了对域名列表的排序吗?

我看到一些应用程序将它们排序为扁平字符串,但问题是您最终将所有相关主机分散在一个域中:

a.me.coma.you.comb.me.comb.you.com

所以,我想出的基本逻辑是颠倒标签的顺序,然后排序。

一个标签的 FQDN 应该被视为主机名,并且可能单独排序,也许在顶部。

理想情况下,我正在寻找 javascript 和 java 版本。

我也不知道这种设计是否适用于较新的国际化域名。

最佳答案

我不太了解 Java 和 Javascript,但许多语言都提供某种可以按字典顺序排序的数组数据结构。所以,就像你说的,将“a.example.com”转换成{“com”,“example”,“a”},然后让默认的排序规则运行。然后字典顺序排序将完全按照您的要求进行。

如果您有本地域和 FQDN 的列表,我同意您希望将它们分开。任何没有句点的内容都可以先被过滤掉。或者,您可以将它们全部解析为 FQDN,然后对整个列表进行排序。

执行此操作的一些 Python 代码(应该相当接近地映射到 Javascript):

hosts = ["a.foo.com", "b.foo.com", "foo.com", "c.bar.com"]

split_hosts = []
for h in hosts:
segments = h.split('.')
segments.reverse()
split_hosts.append(segments)

split_hosts.sort()
for segments in split_hosts:
segments.reverse()
print ".".join(segments)

这打印:

c.bar.com
foo.com
a.foo.com
b.foo.com

关于java - 域名排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/342590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com