小编shr*_*wan的帖子

如何对非英语字符串进行排序?

我确实查找了答案,它们对于标准字母很有用。但我的情况与此不同。

所以,我正在用Java编程。我正在写某个程序。该程序在某些地方具有一些字符串项目列表。我想根据字母对那些字符串项目进行排序。

如果我要按英文字母排序,这很容易,因为通常所有代码页都与美国信息交换标准代码(ASCII)兼容,并且它们的所有英文字母都已经排序,因此,如果我要排序在我的列表中,我只需要比较chars的值即可确定哪个字母在哪里。

但是我的问题是,我不想使用英文字母对列表进行排序。我的程序可以选择以英语或其他语言显示。问题是某些语言的字母与英语字母不同,因此字母与英语字母中的字母不同,因此简单的<和>验证char值不起作用,因为字母未正确排序代码页。

为了这个问题的目的,可以说英语字母如下:

a,
b,
c,
d,
e,
f,
g.
Run Code Online (Sandbox Code Playgroud)

假设有一个名为“ ABC”的国家,其字母如下所示:

d,
b,
g,
e,
a,
c,
f.
Run Code Online (Sandbox Code Playgroud)

首先,如果在代码页b 98,c 99等上,a等于97,那么在此示例中,如何使用第二个字母对列表进行排序,因为第二个字母的第一个字母等于100,第二个字母等于至98,第三至103等?

我的第二个问题:不幸的是,我正在翻译程序的某些国家/地区也有字母,其中某些字母组合被视为一个字母。对于我的第二个示例,假设国家“ def”具有以下字母:

d,
g,
be,
e,
fe,
c,
f.
Run Code Online (Sandbox Code Playgroud)

此处:d-字母表中的第一个字母,g-字母表中的第二个字母,be-字母表中的第三个字母(一个字母,尽管被写成两个字母,但被认为只是一个字母,并且其字母e-字母表中的第四个字母,e-字母表中的第五个字母(也写为两个字母,但被视为一个字母),c-字母表中的第六个字母,f-字母表中的第七个字母。

正如您在虚构国家“ def”的虚构示例2中看到的那样,这个国家确实搞砸了字母。在介绍了两个假想国家的这两个字母的这两个示例之后,您了解了为什么我不能使用标准方法对字符串进行排序。

因此,能否请您帮我进行这种排序。我不确定如何根据这个混乱的字母进行排序。

脚本后: 下面的行对该问题并不重要,但如果有人想知道我在哪里发现这样搞砸的字母,它们只是更多信息

好吧,为了这个问题,我给出了由7个随机排序的字母组成的示例,以使其更加简单。以防万一,我真正的问题是什么-我正尝试将我的程序翻译成克罗地亚语。克罗地亚字母确实被搞砸了,因为它如下:

1 |a
2 |b
3 |c
4 |?
5 |?
6 |d
7 |?
8 |?ž
9 |e
10|f
11|g
12|h
13|i
14|j
15|k
16|l
17|lj
18|m
19|n
20|nj
21|o
22|p
23|r
24|s
25|š
26|t
27|u
28|v
29|z
30|ž
Run Code Online (Sandbox Code Playgroud)

如您所见,克罗地亚语字母与英语字母有些相似,但是大多数字母与英语字母不在同一位置,并且其中几个字母根本不存在于英语字母中,并且几个字母是一个字母,被写成两个字母。所以真的很难分类。所以我希望有人知道这样做的方法。当然,有一个最愚蠢的排序方法将始终有效并且可以对任何内容进行排序,这就是带有switch语句的方法,其中我比较两个字符串项,对于每个字母,我使用switch语句,其中switch语句具有31 …

java sorting alphabet non-english

4
推荐指数
1
解决办法
851
查看次数

有没有办法将变量从程序存储器存储到硬盘保留功能

我正在尝试将包含NodeJS中类的对象数组的变量保存到文件中,以便我可以从那里重用它,而不必像以前那样重新获取它

const chatAPI = require("some_module");
const client = new chatAPI.Client("Auth-Key");
var channels = client.channels();
//Now channels is something I would like to use later on 

//Say
channels.forEach(channel => {channel.send("Hello")});
Run Code Online (Sandbox Code Playgroud)

有什么办法可以将channel变量保存到文件中,这样我就可以在以后的运行中再次将它加载到程序存储器中并使用它,而不必创建新的客户端并获取数据.

详细说明就像我让这个程序运行了一段时间的阻塞循环,然后使用变量,在这种情况下,我无论如何都不必重新分析或重建数据.

javascript node.js

4
推荐指数
1
解决办法
168
查看次数

标签 统计

alphabet ×1

java ×1

javascript ×1

node.js ×1

non-english ×1

sorting ×1