Java。比較字符串時(shí)忽略重音
我認(rèn)為您應(yīng)該使用Collat??or類。它允許您設(shè)置強(qiáng)度和區(qū)域設(shè)置,并將適當(dāng)?shù)乇容^字符。
從Java 1.6 API中:
您可以設(shè)置“整理器”的“強(qiáng)度”屬性來確定在比較中被視為重要的差異水平。提供了四個(gè)優(yōu)勢(shì):主要,次要,高等教育和同等優(yōu)勢(shì)。語言功能的優(yōu)勢(shì)確切分配取決于語言環(huán)境。例如,在捷克語中,“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類肯定可以正確處理此問題。
解決方法問題很簡(jiǎn)單。JAVA中是否有任何函數(shù)可以比較兩個(gè)字符串并在忽略重音字符的情況下返回true?
即
String x = 'Joao';String y = 'Jo?o';
回報(bào)相等。
謝謝
相關(guān)文章:
1. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?2. 網(wǎng)頁爬蟲 - python 爬取網(wǎng)站 并解析非json內(nèi)容3. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。4. 默認(rèn)輸出類型為json,如何輸出html5. 數(shù)組排序,并把排序后的值存入到新數(shù)組中6. php多任務(wù)倒計(jì)時(shí)求助7. mysql怎么表示兩個(gè)字段的差8. javascript - 滾動(dòng)到指定高度 開始輪流放動(dòng)畫,QQPC官網(wǎng)就是這么做的,請(qǐng)問使用什么開源庫方便點(diǎn)?9. PHP訂單派單系統(tǒng)10. MySQL的聯(lián)合查詢[union]有什么實(shí)際的用處
