Java。比較字符串時(shí)忽略重音
我認(rèn)為您應(yīng)該使用Collat??or類。它允許您設(shè)置強(qiáng)度和區(qū)域設(shè)置,并將適當(dāng)?shù)乇容^字符。
從Java 1.6 API中:
您可以設(shè)置“整理器”的“強(qiáng)度”屬性來(lái)確定在比較中被視為重要的差異水平。提供了四個(gè)優(yōu)勢(shì):主要,次要,高等教育和同等優(yōu)勢(shì)。語(yǔ)言功能的優(yōu)勢(shì)確切分配取決于語(yǔ)言環(huán)境。例如,在捷克語(yǔ)中,“e”和“ f”被認(rèn)為是主要區(qū)別,而“ e”和“ě”是次要區(qū)別,“ e”和“ E”是三次區(qū)別,而“ e”和“ e”相同。
我認(rèn)為這里的重點(diǎn)(人們正在嘗試做到的)是,“Joao”和“Jo?o”永遠(yuǎn)不應(yīng)被視為相等,但是,如果要進(jìn)行排序,則不希望基于ASCII值對(duì)它們進(jìn)行比較因?yàn)槟菢幽鷷?huì)遇到Joao,John,Jo?o之類的東西,這是不好的。使用collat??or類肯定可以正確處理此問(wèn)題。
解決方法問(wèn)題很簡(jiǎn)單。JAVA中是否有任何函數(shù)可以比較兩個(gè)字符串并在忽略重音字符的情況下返回true?
即
String x = 'Joao';String y = 'Jo?o';
回報(bào)相等。
謝謝
相關(guān)文章:
1. python3.x - Python中出現(xiàn)AttributeError: object has no attribute2. javascript - 微信小程序里怎么把頁(yè)面轉(zhuǎn)成圖片分享3. python 多進(jìn)程 或者 多線程下如何高效的同步數(shù)據(jù)?4. python - flask_Bootstrap的WTF的調(diào)用疑問(wèn)5. 微信端電子書翻頁(yè)效果6. mysql - SQL問(wèn)個(gè)基礎(chǔ)例子,書上的,我怎么看都看不懂..誰(shuí)幫我解釋一下第2個(gè)為什么和第1個(gè)一樣?7. mysql服務(wù)無(wú)法啟動(dòng)1067錯(cuò)誤,誰(shuí)知道正確的解決方法?8. mysql事務(wù)日志的一些問(wèn)題9. mysql - 我用SQL語(yǔ)句 更新 行的時(shí)候,發(fā)現(xiàn)全部 中文都被清空了,請(qǐng)問(wèn)怎么解決?10. 數(shù)據(jù)庫(kù) - mysql boolean型無(wú)法插入true
