gpt4 book ai didi

java - 如何按字母顺序对数组排序,标点符号优先

转载 作者:行者123 更新时间:2023-11-30 02:13:26 25 4
gpt4 key购买 nike

所以如果我有一个字符串数组,例如:

array = { "Carol", "`-=[]\;',.//uF18*-+~!@#$*"};

我该如何对其进行排序,以便标点符号在重新分类中排在第一位?使用 Arrays.sort(array) 会将它们放在任何以字母开头的字符串之后。目标是:

 array = {"`-=[]\;',.//uF18*-+~!@#$*", "Carol"}

排序后。

最佳答案

这听起来像是排序规则,通常基于自定义字符序列。例如。一个RuleBasedCollator将让您定义不同的字符如何相互关联:

Collator collator = new RuleBasedCollator("< '`','-','=' < A,B,C");
String[] array = { "Carol", "`-=[]\\;',.//uF18*-+~!@#$*"};
Arrays.sort(array, collator);

为了可读性,它保持简短,但显然您需要处理这些规则中的更多字符。不过,通常不需要走得太远 - 您遗漏的任何字符都会在规则中的字符之后恢复到正常顺序。并且注意标点符号往往需要引用。

RuleBasedCollator不过,这些规则中确实还有很多内容。例如,它可以在排序之前处理多字母分组,例如"< c < ch < d"西类牙语。如果有疑问,请查看 Javadocs .

关于java - 如何按字母顺序对数组排序,标点符号优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49416428/

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