我試圖在字符串上進行大寫和規範化Unicode字符,但沒有一種方法按預期工作。 下面是相關的代碼:Android,字符串轉換不能按預期工作
String in = input.getText().toString();
in.toUpperCase();
System.out.println(in);
in= Normalizer.normalize(in,Normalizer.Form.NFC);
System.out.println(in);
stripOut.setText(in);
首先是 「toUpperCase()」 方法不能什麼都不做。 其次,「Normalize」方法不會刪除重音符號,而會將其移至下一個字符。 輸入輸出示例:
Input: φάε ήλιο δεν ξέρεις
UpperCase.out﹕ φάε ήλιο δεν ξέρεις
Normalize.out φάε ήλιο δεν ξέρεις
Input: Βέλγιο φορά δρόμους γιατί
UpperCase.out: Βέλγιο φορά δρόμους γιατί
Normalize.out: Βέλγιο φορά δρόμους γιατί
任何想法?
try in = in.toUpperCase(); –
try in = in.toUpperCase(Locale.getDefault()); –
這很簡單?有用!謝謝,很多 – user2057220