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. mysql - 這條聯(lián)合sql語(yǔ)句哪里錯(cuò)了2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)4. java - MySQL中,使用聚合函數(shù)+for update會(huì)鎖表嗎?5. java - C語(yǔ)言算法題-韓信點(diǎn)兵 求解?6. css3 - 這個(gè)形狀使用CSS怎么寫(xiě)出來(lái)?7. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果8. java - Atom中文問(wèn)題9. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤(pán)不彈出10. css - ionic中的柵格布局如何讓文字內(nèi)容多少不同的每一列中的內(nèi)容都能垂直居中?
