比较字符串时忽略特殊字符
问题描述:
比较字符串时如何忽略所有特殊字符?比较字符串时忽略特殊字符
我已经设置了忽略大写字母的代码,但是我还需要忽略除字母以外的所有其他字符。
这里是我到目前为止的代码
Collections.sort(MusicPlayerService.songNamesAll, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
答
代替字母数字以外的空字符以外的字符,然后比较字符串,如:在比较之前
Collections.sort(MusicPlayerService.songNamesAll, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
s1 = s1.replaceAll("[^a-zA-Z0-9]+","");
s2 = s2.replaceAll("[^a-zA-Z0-9]+","");
return s1.compareToIgnoreCase(s2);
}
});
试图过滤字符串中的字符? – 2015-02-24 12:40:09
'return s1.replaceAll(“[ - +。^ :,]”,“”)。compareToIgnoreCase(s2.replaceAll(“[ - +。^ :,”),“”));' – SorryForMyEnglish 2015-02-24 12:45:36