繁体   English   中英

如何对包含特殊字符和空格的字符串数组进行排序

[英]how to sort an array of string which contains special characters and white spaces

我想对包含特殊字符和空格的字符串数组进行排序。 排序时,我想忽略特殊字符,以便仅基于字符和数字对数组进行排序。

例如:array就像: [“ ibtp-17”,“ personal(z)”,“ personal(a)”,“(z)”,“ yabcd”,“ y(3)”]

只需要智能逻辑来实现这一点。 任何帮助,将不胜感激。 谢谢


到目前为止,我已经尝试使用replace,这有时会给我正确的结果,有时却不会。

 ["ibtp-17","personal (z)","personal (a)","(z)","yabcd","y(3)"]
 .sort(function(a,b){
    return a.replace(/[^A-Z0-9]/ig, "") > b.replace(/[^A-Z0-9]/ig, "")
 }) 

因为我不应该只发布代码(因为OP需要首先尝试自己尝试所有事情,然后才尝试爵士乐)。 这是一些逻辑:

Array.sort()具有比较功能。 在上述比较功能中,您可以放置​​一些基于正则表达式的特殊字符剥离器,例如String.replace(/[^a-zA-Z0-9 ]/g, ""); 然后比较结果字符串。 干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM